From 476171fee5772aa65c9e4dd06fd1ea04a352cab2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 11 Dec 2017 16:51:54 +0100 Subject: [PATCH] m.images: display long exposure as 1.5 s instead of 3/2 s. --- pelican-plugins/m/images.py | 6 +++++- pelican-plugins/m/test/images/longexposure.jpg | Bin 0 -> 888 bytes pelican-plugins/m/test/images/page.html | 8 ++++++-- pelican-plugins/m/test/images/page.rst | 1 + pelican-plugins/m/test/test_images.py | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 pelican-plugins/m/test/images/longexposure.jpg 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 0000000000000000000000000000000000000000..1da8accd2989fb70cccb9e2a030927cf51656c52 GIT binary patch literal 888 zcmex=Gj# zO#lBMs1gD|HZ%Rd&EU+y!N$hU#>&CY&d$ln!NnuO%frphBPk@zFCr@?FDEM{Bcq_A zr>>x+qbwt%VXmoTU}$1uBCl>~Yhh%gXKZ2wGK7(nlaq&=M}n7E!bnj@(THU5{{Vv^ z2ZI0u7c-+01Ct;lvmoRDBMkCDU$ZiT0nFV%ud%SQv2$>8aRU`>6<}auWM*b!VP<7z z0R|dlEy(LEf~-P{hK_8)fr;!&g(60c6BlwQJ8e8D8g%i4ig8j=6DOCLxP+vXs+zin zrk07RnYo3fm9vYho4bdnS8zyZSa?KaRB}pcT6#uiR&hybS$RceRdY*gTYE=m*QCi) zrcRqaW9F9X@jO*zpr5PhGlvRQx zUOF-Cva^@hZM~UkCZ)GC^BcD=-?__g^rR~F1p7XoIBDx~uAn@5ZT$R0_Za6@s{VHQ bn4fenrnn{a

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'] }) # -- 2.30.2