2
0
Эх сурвалжийг харах

Fix #2355 (date parsing with dashes)

Philipp Hagemeister 11 жил өмнө
parent
commit
026fcc0495

+ 1 - 0
test/test_utils.py

@@ -127,6 +127,7 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(unified_strdate('8/7/2009'), '20090708')
         self.assertEqual(unified_strdate('8/7/2009'), '20090708')
         self.assertEqual(unified_strdate('Dec 14, 2012'), '20121214')
         self.assertEqual(unified_strdate('Dec 14, 2012'), '20121214')
         self.assertEqual(unified_strdate('2012/10/11 01:56:38 +0000'), '20121011')
         self.assertEqual(unified_strdate('2012/10/11 01:56:38 +0000'), '20121011')
+        self.assertEqual(unified_strdate('1968-12-10'), '19681210')
 
 
     def test_find_xpath_attr(self):
     def test_find_xpath_attr(self):
         testxml = u'''<root>
         testxml = u'''<root>

+ 2 - 2
youtube_dl/utils.py

@@ -756,9 +756,9 @@ def unified_strdate(date_str):
     """Return a string with the date in the format YYYYMMDD"""
     """Return a string with the date in the format YYYYMMDD"""
     upload_date = None
     upload_date = None
     #Replace commas
     #Replace commas
-    date_str = date_str.replace(',',' ')
+    date_str = date_str.replace(',', ' ')
     # %z (UTC offset) is only supported in python>=3.2
     # %z (UTC offset) is only supported in python>=3.2
-    date_str = re.sub(r' ?(\+|-)[0-9:]*$', '', date_str)
+    date_str = re.sub(r' ?(\+|-)[0-9]{2}:?[0-9]{2}$', '', date_str)
     format_expressions = [
     format_expressions = [
         '%d %B %Y',
         '%d %B %Y',
         '%B %d %Y',
         '%B %d %Y',