|
|
@ -1626,15 +1626,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
""" Return a string representation of a signature """
|
|
|
|
""" Return a string representation of a signature """
|
|
|
|
return '.'.join(compat_str(len(part)) for part in example_sig.split('.'))
|
|
|
|
return '.'.join(compat_str(len(part)) for part in example_sig.split('.'))
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def _extract_player_info(self, player_url):
|
|
|
|
def _extract_player_info(cls, player_url):
|
|
|
|
try:
|
|
|
|
for player_re in cls._PLAYER_INFO_RE:
|
|
|
|
return self._search_regex(
|
|
|
|
id_m = re.search(player_re, player_url)
|
|
|
|
self._PLAYER_INFO_RE, player_url, 'player info', group='id')
|
|
|
|
if id_m:
|
|
|
|
except ExtractorError as e:
|
|
|
|
break
|
|
|
|
raise ExtractorError(
|
|
|
|
else:
|
|
|
|
'Cannot identify player %r' % (player_url,), cause=e)
|
|
|
|
raise ExtractorError('Cannot identify player %r' % player_url)
|
|
|
|
|
|
|
|
return id_m.group('id')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _load_player(self, video_id, player_url, fatal=True, player_id=None):
|
|
|
|
def _load_player(self, video_id, player_url, fatal=True, player_id=None):
|
|
|
|
if not player_id:
|
|
|
|
if not player_id:
|
|
|
|