From ed7903c26d0a7beba1a4f105534e9ba21a8110f7 Mon Sep 17 00:00:00 2001 From: Simon Conseil Date: Mon, 23 Sep 2013 00:32:32 +0200 Subject: [PATCH] Docstrings --- sigal/image.py | 18 ++++++++++++------ tests/test_image.py | 5 ++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/sigal/image.py b/sigal/image.py index 277cdd2..3ea069a 100644 --- a/sigal/image.py +++ b/sigal/image.py @@ -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 diff --git a/tests/test_image.py b/tests/test_image.py index de3ee77..82e0f5c 100644 --- a/tests/test_image.py +++ b/tests/test_image.py @@ -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)