[youtube_truncated_url] Add support for truncated watch URLs with annotations (#3178)
authorPhilipp Hagemeister <phihag@phihag.de>
Tue, 1 Jul 2014 13:48:18 +0000 (15:48 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Tue, 1 Jul 2014 13:49:16 +0000 (15:49 +0200)
youtube_dl/extractor/youtube.py

index 6bdea1c44bc5201d2c0b9a6d01279b9414668cbe..ec3024cbd9b83d515ca8fb3a07587f1d530769a6 100644 (file)
@@ -1825,10 +1825,18 @@ class YoutubeTruncatedURLIE(InfoExtractor):
     IE_NAME = 'youtube:truncated_url'
     IE_DESC = False  # Do not list
     _VALID_URL = r'''(?x)
-        (?:https?://)?[^/]+/watch\?(?:feature=[a-z_]+)?$|
+        (?:https?://)?[^/]+/watch\?(?:
+            feature=[a-z_]+|
+            annotation_id=annotation_[^&]+
+        )?$|
         (?:https?://)?(?:www\.)?youtube\.com/attribution_link\?a=[^&]+$
     '''
 
+    _TESTS = [{
+        'url': 'http://www.youtube.com/watch?annotation_id=annotation_3951667041',
+        'only_matching': True,
+    }]
+
     def _real_extract(self, url):
         raise ExtractorError(
             u'Did you forget to quote the URL? Remember that & is a meta '