From aba8df23edf4f1078b163b490174c2d766432b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= <jaime.marquinez.ferrandiz@gmail.com> Date: Sat, 27 Apr 2013 10:41:52 +0200 Subject: YoutubePlaylistIE: don't crash with empty lists (related #808) The playlist_title wasn't initialized. --- test/test_youtube_lists.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index c7f00af32..b11e6ccaa 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -71,6 +71,13 @@ class TestYoutubeLists(unittest.TestCase): ytie_results = [YoutubeIE()._extract_id(url['url']) for url in result['entries']] self.assertFalse('pElCt5oNDuI' in ytie_results) self.assertFalse('KdPEApIVdWM' in ytie_results) + + def test_youtube_playlist_empty(self): + dl = FakeDownloader() + ie = YoutubePlaylistIE(dl) + result = ie.extract('https://www.youtube.com/playlist?list=PLtPgu7CB4gbZDA7i_euNxn75ISqxwZPYx')[0] + self.assertIsPlaylist(result) + self.assertEqual(len(result['entries']), 0) def test_youtube_course(self): dl = FakeDownloader() -- cgit v1.2.3 From bd55852517a40d011b303559f4cd78773a2f3de5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= <jaime.marquinez.ferrandiz@gmail.com> Date: Sat, 27 Apr 2013 14:01:55 +0200 Subject: Allow to select videos to download by their upload dates (related #137) Only absolute dates. --- test/test_utils.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test') diff --git a/test/test_utils.py b/test/test_utils.py index eeaaa7fad..f9d58268b 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -14,6 +14,7 @@ from youtube_dl.utils import timeconvert from youtube_dl.utils import sanitize_filename from youtube_dl.utils import unescapeHTML from youtube_dl.utils import orderedSet +from youtube_dl.utils import DateRange if sys.version_info < (3, 0): _compat_str = lambda b: b.decode('unicode-escape') @@ -95,6 +96,14 @@ class TestUtil(unittest.TestCase): def test_unescape_html(self): self.assertEqual(unescapeHTML(_compat_str('%20;')), _compat_str('%20;')) + + def test_daterange(self): + _20century = DateRange("19000101","20000101") + self.assertFalse("17890714" in _20century) + _ac = DateRange("00010101") + self.assertTrue("19690721" in _ac) + _firstmilenium = DateRange(end="10000101") + self.assertTrue("07110427" in _firstmilenium) if __name__ == '__main__': unittest.main() -- cgit v1.2.3 From bf50b0383e4d6728bbbf1d0ee70cf586a90efb40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= <jaime.marquinez.ferrandiz@gmail.com> Date: Sat, 27 Apr 2013 15:14:20 +0200 Subject: Fix some IEs that didn't return the uploade_date in the YYYYMMDD format Create a function unified_strdate in utils.py to fix these problems --- test/test_utils.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') diff --git a/test/test_utils.py b/test/test_utils.py index f9d58268b..343409a7a 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -15,6 +15,7 @@ from youtube_dl.utils import sanitize_filename from youtube_dl.utils import unescapeHTML from youtube_dl.utils import orderedSet from youtube_dl.utils import DateRange +from youtube_dl.utils import unified_strdate if sys.version_info < (3, 0): _compat_str = lambda b: b.decode('unicode-escape') @@ -104,6 +105,12 @@ class TestUtil(unittest.TestCase): self.assertTrue("19690721" in _ac) _firstmilenium = DateRange(end="10000101") self.assertTrue("07110427" in _firstmilenium) + + def test_unified_dates(self): + self.assertEqual(unified_strdate('December 21, 2010'), '20101221') + self.assertEqual(unified_strdate('8/7/2009'), '20090708') + self.assertEqual(unified_strdate('Dec 14, 2012'), '20121214') + self.assertEqual(unified_strdate('2012/10/11 01:56:38 +0000'), '20121011') if __name__ == '__main__': unittest.main() -- cgit v1.2.3