commit: 6508688e88c83bb811653083db9351702cd39a6a
parent 4194d253c0b922addf0439228066cb4fb487bac3
Author: df <fieldhouse@gmx.net>
Date: Sun, 1 Aug 2021 09:42:57 +0100
Make default upload_/release_date a compat_str
Ensures download tests pass in Python 2 as well as 3; also
add YoutubeDL tests for timestamp -> upload_date etc.
Diffstat:
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py
@@ -997,6 +997,25 @@ class TestYoutubeDL(unittest.TestCase):
self.assertEqual(downloaded['extractor'], 'Video')
self.assertEqual(downloaded['extractor_key'], 'Video')
+ def test_default_times(self):
+ """Test addition of missing upload/release/_date from /release_/timestamp"""
+ info = {
+ 'id': '1234',
+ 'url': TEST_URL,
+ 'title': 'Title',
+ 'ext': 'mp4',
+ 'timestamp': 1631352900,
+ 'release_timestamp': 1632995931,
+ }
+
+ params = {'simulate': True, }
+ ydl = FakeYDL(params)
+ out_info = ydl.process_ie_result(info)
+ self.assertTrue(isinstance(out_info['upload_date'], compat_str))
+ self.assertEqual(out_info['upload_date'], '20210911')
+ self.assertTrue(isinstance(out_info['release_date'], compat_str))
+ self.assertEqual(out_info['release_date'], '20210930')
+
if __name__ == '__main__':
unittest.main()
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
@@ -1529,7 +1529,7 @@ class YoutubeDL(object):
# see http://bugs.python.org/issue1646728)
try:
upload_date = datetime.datetime.utcfromtimestamp(info_dict[ts_key])
- info_dict[date_key] = upload_date.strftime('%Y%m%d')
+ info_dict[date_key] = compat_str(upload_date.strftime('%Y%m%d'))
except (ValueError, OverflowError, OSError):
pass