[utils] Fix unified_timestamp for formats parsed by parsedate_tz()
This commit is contained in:
		| @@ -308,6 +308,7 @@ class TestUtil(unittest.TestCase): | ||||
|         self.assertEqual(unified_timestamp('25-09-2014'), 1411603200) | ||||
|         self.assertEqual(unified_timestamp('27.02.2016 17:30'), 1456594200) | ||||
|         self.assertEqual(unified_timestamp('UNKNOWN DATE FORMAT'), None) | ||||
|         self.assertEqual(unified_timestamp('May 16, 2016 11:15 PM'), 1463440500) | ||||
|  | ||||
|     def test_determine_ext(self): | ||||
|         self.assertEqual(determine_ext('http://example.com/foo/bar.mp4/?download'), 'mp4') | ||||
|   | ||||
| @@ -1101,7 +1101,7 @@ def unified_timestamp(date_str, day_first=True): | ||||
|  | ||||
|     date_str = date_str.replace(',', ' ') | ||||
|  | ||||
|     pm_delta = datetime.timedelta(hours=12 if re.search(r'(?i)PM', date_str) else 0) | ||||
|     pm_delta = 12 if re.search(r'(?i)PM', date_str) else 0 | ||||
|     timezone, date_str = extract_timezone(date_str) | ||||
|  | ||||
|     # Remove AM/PM + timezone | ||||
| @@ -1109,13 +1109,13 @@ def unified_timestamp(date_str, day_first=True): | ||||
|  | ||||
|     for expression in date_formats(day_first): | ||||
|         try: | ||||
|             dt = datetime.datetime.strptime(date_str, expression) - timezone + pm_delta | ||||
|             dt = datetime.datetime.strptime(date_str, expression) - timezone + datetime.timedelta(hours=pm_delta) | ||||
|             return calendar.timegm(dt.timetuple()) | ||||
|         except ValueError: | ||||
|             pass | ||||
|     timetuple = email.utils.parsedate_tz(date_str) | ||||
|     if timetuple: | ||||
|         return calendar.timegm(timetuple.timetuple()) | ||||
|         return calendar.timegm(timetuple) + pm_delta * 3600 | ||||
|  | ||||
|  | ||||
| def determine_ext(url, default_ext='unknown_video'): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user