From: Vladimír Vondruš Date: Mon, 11 Dec 2017 15:51:54 +0000 (+0100) Subject: m.images: display long exposure as 1.5 s instead of 3/2 s. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?a=commitdiff_plain;h=476171fee5772aa65c9e4dd06fd1ea04a352cab2;p=blog.git m.images: display long exposure as 1.5 s instead of 3/2 s. --- diff --git a/pelican-plugins/m/images.py b/pelican-plugins/m/images.py index 2ebc16db..b8e12176 100644 --- a/pelican-plugins/m/images.py +++ b/pelican-plugins/m/images.py @@ -197,7 +197,11 @@ class ImageGrid(rst.Directive): if 'FNumber' in exif: caption += ["F{}".format(float(float(exif['FNumber'][0])/float(exif['FNumber'][1])))] if 'ExposureTime' in exif: - caption += ["{}/{} s".format(exif['ExposureTime'][0], exif['ExposureTime'][1])] + numerator, denominator = exif['ExposureTime'] + if int(numerator) > int(denominator): + caption += ["{} s".format(float(numerator)/float(denominator))] + else: + caption += ["{}/{} s".format(numerator, denominator)] if 'ISOSpeedRatings' in exif: caption += ["ISO {}".format(exif['ISOSpeedRatings'])] caption = ', '.join(caption) diff --git a/pelican-plugins/m/test/images/longexposure.jpg b/pelican-plugins/m/test/images/longexposure.jpg new file mode 100644 index 00000000..1da8accd Binary files /dev/null and b/pelican-plugins/m/test/images/longexposure.jpg differ diff --git a/pelican-plugins/m/test/images/page.html b/pelican-plugins/m/test/images/page.html index abf048f5..3ddd6adc 100644 --- a/pelican-plugins/m/test/images/page.html +++ b/pelican-plugins/m/test/images/page.html @@ -85,15 +85,19 @@ Yes.

Image grid with a PNG file and a JPEG with sparse EXIF data:

-
+
-
+
F2.8
+
+
1.5 s
+
+
diff --git a/pelican-plugins/m/test/images/page.rst b/pelican-plugins/m/test/images/page.rst index 13fe99aa..273d9838 100644 --- a/pelican-plugins/m/test/images/page.rst +++ b/pelican-plugins/m/test/images/page.rst @@ -63,3 +63,4 @@ Image grid with a PNG file and a JPEG with sparse EXIF data: {filename}/tiny.png {filename}/sparseexif.jpg + {filename}/longexposure.jpg diff --git a/pelican-plugins/m/test/test_images.py b/pelican-plugins/m/test/test_images.py index 699e1f09..84725d60 100644 --- a/pelican-plugins/m/test/test_images.py +++ b/pelican-plugins/m/test/test_images.py @@ -31,7 +31,7 @@ class Images(PluginTestCase): def test(self): self.run_pelican({ 'PLUGINS': ['m.htmlsanity', 'm.images'], - 'STATIC_PATHS': ['tiny.png', 'ship.jpg', 'flowers.jpg', 'sparseexif.jpg'] + 'STATIC_PATHS': ['tiny.png', 'ship.jpg', 'flowers.jpg', 'sparseexif.jpg', 'longexposure.jpg'] }) #