[youtube:truncated_url] Add x-yt-cl URLs (#4773)

This commit is contained in:
Philipp Hagemeister 2015-01-24 11:42:20 +01:00
parent fc2d6abfe7
commit b95aab8482

View file

@ -1682,11 +1682,17 @@ class YoutubeTruncatedURLIE(InfoExtractor):
IE_NAME = 'youtube:truncated_url' IE_NAME = 'youtube:truncated_url'
IE_DESC = False # Do not list IE_DESC = False # Do not list
_VALID_URL = r'''(?x) _VALID_URL = r'''(?x)
(?:https?://)?[^/]+/watch\?(?: (?:https?://)?
(?:\w+\.)?[yY][oO][uU][tT][uU][bB][eE](?:-nocookie)?\.com/
(?:watch\?(?:
feature=[a-z_]+| feature=[a-z_]+|
annotation_id=annotation_[^&]+ annotation_id=annotation_[^&]+|
)?$| x-yt-cl=[0-9]+|
(?:https?://)?(?:www\.)?youtube\.com/attribution_link\?a=[^&]+$ )?
|
attribution_link\?a=[^&]+
)
$
''' '''
_TESTS = [{ _TESTS = [{
@ -1695,6 +1701,12 @@ class YoutubeTruncatedURLIE(InfoExtractor):
}, { }, {
'url': 'http://www.youtube.com/watch?', 'url': 'http://www.youtube.com/watch?',
'only_matching': True, 'only_matching': True,
}, {
'url': 'https://www.youtube.com/watch?x-yt-cl=84503534',
'only_matching': True,
}, {
'url': 'https://www.youtube.com/watch?feature=foo',
'only_matching': True,
}] }]
def _real_extract(self, url): def _real_extract(self, url):
@ -1710,7 +1722,7 @@ def _real_extract(self, url):
class YoutubeTruncatedIDIE(InfoExtractor): class YoutubeTruncatedIDIE(InfoExtractor):
IE_NAME = 'youtube:truncated_id' IE_NAME = 'youtube:truncated_id'
IE_DESC = False # Do not list IE_DESC = False # Do not list
_VALID_URL = r'https?://(?:www\.)youtube\.com/watch\?v=(?P<id>[0-9A-Za-z_-]{1,10})$' _VALID_URL = r'https?://(?:www\.)?youtube\.com/watch\?v=(?P<id>[0-9A-Za-z_-]{1,10})$'
_TESTS = [{ _TESTS = [{
'url': 'https://www.youtube.com/watch?v=N_708QY7Ob', 'url': 'https://www.youtube.com/watch?v=N_708QY7Ob',