youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 897f36d179978b4cb31544c065c6768805e56ae6
parent 94c3637f6de8109fd8b9a3245c29e28156211461
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Sun,  7 Jul 2013 17:13:26 +0200

[youtube:subscriptions] Use colon for differentiation of shortcuts

Diffstat:
Mtest/test_all_urls.py | 11+++++++++++
Myoutube_dl/extractor/youtube.py | 6+++---
2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/test/test_all_urls.py b/test/test_all_urls.py @@ -61,6 +61,17 @@ class TestAllURLsMatching(unittest.TestCase): else: self.assertFalse(ie.suitable(url), '%s should not match URL %r' % (type(ie).__name__, url)) + def test_keywords(self): + ies = gen_extractors() + matching_ies = lambda url: [ie.IE_NAME for ie in ies + if ie.suitable(url) and ie.IE_NAME != 'generic'] + self.assertEqual(matching_ies(':ytsubs'), ['youtube:subscriptions']) + self.assertEqual(matching_ies(':ytsubscriptions'), ['youtube:subscriptions']) + self.assertEqual(matching_ies(':thedailyshow'), ['ComedyCentral']) + self.assertEqual(matching_ies(':tds'), ['ComedyCentral']) + self.assertEqual(matching_ies(':colbertreport'), ['ComedyCentral']) + self.assertEqual(matching_ies(':cr'), ['ComedyCentral']) + if __name__ == '__main__': unittest.main() diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py @@ -870,14 +870,14 @@ class YoutubeShowIE(InfoExtractor): class YoutubeSubscriptionsIE(YoutubeIE): """It's a subclass of YoutubeIE because we need to login""" - IE_DESC = u'YouTube.com subscriptions feed, "ytsubscriptions" keyword(requires authentication)' - _VALID_URL = r'https?://www\.youtube\.com/feed/subscriptions|ytsubscriptions' + IE_DESC = u'YouTube.com subscriptions feed, "ytsubs" keyword(requires authentication)' + _VALID_URL = r'https?://www\.youtube\.com/feed/subscriptions|:ytsubs(?:criptions)?' IE_NAME = u'youtube:subscriptions' _FEED_TEMPLATE = 'http://www.youtube.com/feed_ajax?action_load_system_feed=1&feed_name=subscriptions&paging=%s' _PAGING_STEP = 30 + # Overwrite YoutubeIE properties we don't want _TESTS = [] - @classmethod def suitable(cls, url): return re.match(cls._VALID_URL, url) is not None