Docstrings
This commit is contained in:
@@ -49,6 +49,8 @@ def generate_image(source, outname, settings, options=None):
|
||||
"""Image processor, rotate and resize the image.
|
||||
|
||||
:param source: path to an image
|
||||
:param outname: output filename
|
||||
:param settings: settings dict
|
||||
:param options: dict with PIL options (quality, optimize, progressive)
|
||||
|
||||
"""
|
||||
@@ -94,7 +96,7 @@ def generate_image(source, outname, settings, options=None):
|
||||
|
||||
|
||||
def generate_thumbnail(source, outname, box, fit=True, options=None):
|
||||
"Create a thumbnail image"
|
||||
"""Create a thumbnail image."""
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
img = PILImage.open(source)
|
||||
@@ -106,19 +108,21 @@ def generate_thumbnail(source, outname, box, fit=True, options=None):
|
||||
img.thumbnail(box, PILImage.ANTIALIAS)
|
||||
|
||||
outformat = img.format or original_format or 'JPEG'
|
||||
logger.debug(u'Save thumnail image to {0} ({1})'.format(outname, outformat))
|
||||
logger.debug(u'Save thumnail image: {0} ({1})'.format(outname, outformat))
|
||||
with open(outname, 'w') as fp:
|
||||
save_image(img, fp, outformat, options=options, autoconvert=True)
|
||||
|
||||
|
||||
def add_copyright(img, text):
|
||||
"Add a copyright to the image"
|
||||
"""Add a copyright to the image."""
|
||||
|
||||
draw = ImageDraw.Draw(img)
|
||||
draw.text((5, img.size[1] - 15), '\xa9 ' + text)
|
||||
|
||||
|
||||
def _get_exif_data(filename):
|
||||
"""Return a dict with EXIF data."""
|
||||
|
||||
img = PILImage.open(filename)
|
||||
exif = img._getexif() or {}
|
||||
data = dict((TAGS.get(t, t), v) for (t, v) in exif.items())
|
||||
@@ -134,7 +138,9 @@ def _get_exif_data(filename):
|
||||
return data
|
||||
|
||||
|
||||
def _get_degrees(v):
|
||||
def dms_to_degrees(v):
|
||||
"""Convert degree/minute/second to decimal degrees."""
|
||||
|
||||
d = float(v[0][0]) / float(v[0][1])
|
||||
m = float(v[1][0]) / float(v[1][1])
|
||||
s = float(v[2][0]) / float(v[2][1])
|
||||
@@ -192,8 +198,8 @@ def get_exif_tags(source):
|
||||
lon_ref_info = info.get('GPSLongitudeRef')
|
||||
|
||||
if lat_info and lon_info and lat_ref_info and lon_ref_info:
|
||||
lat = _get_degrees(lat_info)
|
||||
lon = _get_degrees(lon_info)
|
||||
lat = dms_to_degrees(lat_info)
|
||||
lon = dms_to_degrees(lon_info)
|
||||
|
||||
if lat_ref_info != 'N':
|
||||
lat = 0 - lat
|
||||
|
||||
@@ -29,8 +29,10 @@ def test_generate_image_processor(tmpdir):
|
||||
|
||||
init_logging()
|
||||
dstfile = str(tmpdir.join(TEST_IMAGE))
|
||||
settings = create_settings(img_size=(200, 200),
|
||||
img_processor='WrongMethod')
|
||||
|
||||
with pytest.raises(SystemExit):
|
||||
settings = create_settings(img_size=(200, 200), img_processor='WrongMethod')
|
||||
generate_image(SRCFILE, dstfile, settings)
|
||||
|
||||
|
||||
@@ -72,6 +74,7 @@ def test_exif_copy(tmpdir):
|
||||
|
||||
def test_exif_gps(tmpdir):
|
||||
"""Test reading out correct geo tags"""
|
||||
|
||||
test_image = 'flickr_jerquiaga_2394751088_cc-by-nc.jpg'
|
||||
src_file = os.path.join(CURRENT_DIR, 'sample', 'pictures', 'dir1', 'test1',
|
||||
test_image)
|
||||
|
||||
Reference in New Issue
Block a user