From 40a010f6a66f1307782b9273461c0c0c11b390e8 Mon Sep 17 00:00:00 2001 From: Karl Voit Date: Sun, 10 Mar 2019 12:18:26 +0100 Subject: [PATCH] added support for Android Bokeh photographs to IMG_INDEXGROUPS --- guessfilename/__init__.py | 10 +++++++--- guessfilename_test.py | 11 ++++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/guessfilename/__init__.py b/guessfilename/__init__.py index d9d2929..08d6db5 100755 --- a/guessfilename/__init__.py +++ b/guessfilename/__init__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -PROG_VERSION = u"Time-stamp: <2018-11-01 22:19:54 vk>" +PROG_VERSION = u"Time-stamp: <2019-03-10 12:17:32 vk>" # TODO: @@ -158,7 +158,8 @@ class GuessFilename(object): SIGNAL_REGEX = re.compile('signal-' + DATESTAMP_REGEX + '-' + TIMESTAMP_REGEX + '(.+)?.jpg', re.UNICODE) IMG_REGEX = re.compile('IMG_' + DATESTAMP_REGEX + '_' + TIMESTAMP_REGEX + '(_Bokeh)?(.+)?.jpg', re.UNICODE) - IMG_INDEXGROUPS = [1, '-', 2, '-', 3, 'T', 4, '.', 5, ['.', 7], 9, '.jpg'] + IMG_INDEXGROUPS_NORMAL = [1, '-', 2, '-', 3, 'T', 4, '.', 5, ['.', 7], 9, '.jpg'] + IMG_INDEXGROUPS_BOKEH = [1, '-', 2, '-', 3, 'T', 4, '.', 5, ['.', 7], ' Bokeh', 9, '.jpg'] VID_REGEX = re.compile('VID_' + DATESTAMP_REGEX + '_' + TIMESTAMP_REGEX + '(.+)?.mp4', re.UNICODE) VID_INDEXGROUPS = [1, '-', 2, '-', 3, 'T', 4, '.', 5, ['.', 7], 8, '.mp4'] @@ -882,7 +883,10 @@ class GuessFilename(object): # digital camera images: IMG_20161014_214404 foo bar.jpg -> 2016-10-14T21.44.04 foo bar.jpg OR regex_match = re.match(self.IMG_REGEX, oldfilename) if regex_match: - return self.build_string_via_indexgroups(regex_match, self.IMG_INDEXGROUPS) + if regex_match.group(8) == '_Bokeh': + return self.build_string_via_indexgroups(regex_match, self.IMG_INDEXGROUPS_BOKEH) + else: + return self.build_string_via_indexgroups(regex_match, self.IMG_INDEXGROUPS_NORMAL) # VID_20170105_173104.mp4 -> 2017-01-05T17.31.04.mp4 regex_match = re.match(self.VID_REGEX, oldfilename) if regex_match: diff --git a/guessfilename_test.py b/guessfilename_test.py index e5d4a7e..d7e44ea 100644 --- a/guessfilename_test.py +++ b/guessfilename_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8; mode: python; -*- -# Time-stamp: <2018-11-01 11:17:03 vk> +# Time-stamp: <2019-03-10 12:15:54 vk> import unittest import logging @@ -199,6 +199,15 @@ class TestGuessFilename(unittest.TestCase): self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename('20181025T210500 ORF - Am Schauplatz - Am Schauplatz_ Wenn alles zusammenbricht -ORIGINALlow- playlist.m3u8.mp4'), '2018-10-25T21.05.00 ORF - Am Schauplatz - Am Schauplatz_ Wenn alles zusammenbricht -- lowquality.mp4') + # Digital camera from Android + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename('IMG_20190118_133928.jpg'), + '2019-01-18T13.39.28.jpg') + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename('IMG_20190118_133928 This is a note.jpg'), + '2019-01-18T13.39.28 This is a note.jpg') + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename('IMG_20190118_133928_Bokeh.jpg'), + '2019-01-18T13.39.28 Bokeh.jpg') + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename('IMG_20190118_133928_Bokeh This is a note.jpg'), + '2019-01-18T13.39.28 Bokeh This is a note.jpg') # self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename(''), # '')