|
@@ -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 '
|