diff --git a/cmd/updater/requirements.txt b/cmd/updater/requirements.txt index 461f414..dbe2bfa 100644 --- a/cmd/updater/requirements.txt +++ b/cmd/updater/requirements.txt @@ -1,2 +1,2 @@ boto3==1.9.129 -youtube_dl==2019.06.27 +youtube_dl==2019.08.02 diff --git a/cmd/updater/updater.py b/cmd/updater/updater.py index d193421..f01870d 100644 --- a/cmd/updater/updater.py +++ b/cmd/updater/updater.py @@ -30,6 +30,9 @@ def get_updates(start, count, url, fmt, last_id=None, playlist=None): if not url: raise ValueError('Invalid resource URL %s' % url) + if playlist is None: + playlist = [] + end = start + count - 1 opts = { diff --git a/cmd/updater/updater_test.py b/cmd/updater/updater_test.py index 77d8778..9ddc62d 100644 --- a/cmd/updater/updater_test.py +++ b/cmd/updater/updater_test.py @@ -14,23 +14,29 @@ class TestUpdater(unittest.TestCase): ] for kind in kinds: with self.subTest(kind): - feed, items, _ = updater.get_updates(1, 1, TEST_URL, kind) - self.assertIsNotNone(feed) + items, last_id, _ = updater.get_updates(1, 1, TEST_URL, kind) self.assertIsNotNone(items) + self.assertIsNotNone(last_id) def test_get_change_list(self): - feed, items, last_id = updater.get_updates(1, 5, TEST_URL, 'worst[ext=mp4]') + items, last_id, _ = updater.get_updates(1, 5, TEST_URL, 'worst[ext=mp4]') self.assertEqual(len(items), 5) self.assertEqual(items[0]['ID'], last_id) test_last_id = items[2]['ID'] self.assertIsNotNone(test_last_id) - feed, items, last_id = updater.get_updates(1, 5, TEST_URL, 'worst[ext=mp4]', test_last_id) + items, last_id, _ = updater.get_updates(1, 5, TEST_URL, 'worst[ext=mp4]', test_last_id) self.assertEqual(len(items), 2) self.assertEqual(items[0]['ID'], last_id) def test_last_id(self): - feed, items, last_id = updater.get_updates(1, 1, TEST_URL, 'worstaudio') + items, last_id, _ = updater.get_updates(1, 1, TEST_URL, 'worstaudio') self.assertEqual(len(items), 1) self.assertEqual(items[0]['ID'], last_id) + + def test_get_title_issue33(self): + url = 'https://youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA' + items, _, _ = updater.get_updates(1, 1, url, 'best[ext=mp4]') + for item in items: + self.assertNotEqual('_', item.get('Title'))