diff --git a/guessfilename.py b/guessfilename.py index 85710f6..1f72b65 100755 --- a/guessfilename.py +++ b/guessfilename.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -PROG_VERSION = u"Time-stamp: <2017-12-02 13:27:40 vk>" +PROG_VERSION = u"Time-stamp: <2017-12-08 15:21:44 vk>" # TODO: @@ -165,7 +165,8 @@ class GuessFilename(object): # Screenshot_2017-11-07_07-52-59 my description.png SCREENSHOT1_REGEX = re.compile('Screenshot_(' + DAY_REGEX + ')_' + TIME_FUZZY_REGEX + '(.*).png') - + # 2017-12-07_09-23_Thu Went for a walk .gpx + OSMTRACK_REGEX = re.compile('(' + DAY_REGEX + ')_' + TIME_FUZZY_REGEX + '_(\w{3})( )?(.*).gpx') logger = None config = None @@ -598,6 +599,16 @@ class GuessFilename(object): my_description = '' return self.build_string_via_indexgroups(regex_match, [1, 'T', 2, '.', 3, '.', 5, my_description, ' -- screenshots.png']) + # 2017-12-07_09-23_Thu Went for a walk .gpx + regex_match = re.match(self.OSMTRACK_REGEX, oldfilename) + if regex_match: + if regex_match.group(8): + description = regex_match.group(8).strip() + return self.build_string_via_indexgroups(regex_match, [1, 'T', 2, '.', 3, ' ', description, '.gpx']) + else: + return self.build_string_via_indexgroups(regex_match, [1, 'T', 2, '.', 3, '.gpx']) + + # FIXXME: more cases! diff --git a/guessfilename_test.py b/guessfilename_test.py index cf6b74e..f52aa11 100755 --- a/guessfilename_test.py +++ b/guessfilename_test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8; mode: python; -*- -# Time-stamp: <2017-12-02 12:58:51 vk> +# Time-stamp: <2017-12-08 15:15:40 vk> import unittest import logging @@ -138,6 +138,17 @@ class TestGuessFilename(unittest.TestCase): self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename("Screenshot_2017-11-29_10-32-12 my description.png"), "2017-11-29T10.32.12 my description -- screenshots.png") + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename("2017-11-14_16-10_Tue.gpx"), + "2017-11-14T16.10.gpx") + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename("2017-12-07_09-23_Thu Went for a walk .gpx"), + "2017-12-07T09.23 Went for a walk.gpx") + self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename("2017-11-03_07-29_Fri Bicycling.gpx"), + "2017-11-03T07.29 Bicycling.gpx") + +# self.assertEqual(self.guess_filename.derive_new_filename_from_old_filename(""), +# "") + + def test_contains_one_of(self): self.assertTrue(self.guess_filename.contains_one_of("foo bar baz", ['foo']))