[nexx] extract new azure urls(closes #16223)

This commit is contained in:
Remita Amine 2018-04-19 15:48:03 +01:00
parent b004d9bbf1
commit d86c5167ae

View File

@ -230,15 +230,18 @@ class NexxIE(InfoExtractor):
azure_locator = stream_data['azureLocator'] azure_locator = stream_data['azureLocator']
AZURE_URL = 'http://nx%s%02d.akamaized.net/' def get_cdn_shield_base(shield_type='', static=False):
def get_cdn_shield_base(shield_type='', prefix='-p'):
for secure in ('', 's'): for secure in ('', 's'):
cdn_shield = stream_data.get('cdnShield%sHTTP%s' % (shield_type, secure.upper())) cdn_shield = stream_data.get('cdnShield%sHTTP%s' % (shield_type, secure.upper()))
if cdn_shield: if cdn_shield:
return 'http%s://%s' % (secure, cdn_shield) return 'http%s://%s' % (secure, cdn_shield)
else: else:
return AZURE_URL % (prefix, int(stream_data['azureAccount'].replace('nexxplayplus', ''))) if 'fb' in stream_data['azureAccount']:
prefix = 'df' if static else 'f'
else:
prefix = 'd' if static else 'p'
account = int(stream_data['azureAccount'].replace('nexxplayplus', '').replace('nexxplayfb', ''))
return 'http://nx-%s%02d.akamaized.net/' % (prefix, account)
azure_stream_base = get_cdn_shield_base() azure_stream_base = get_cdn_shield_base()
is_ml = ',' in language is_ml = ',' in language
@ -260,7 +263,7 @@ class NexxIE(InfoExtractor):
formats.extend(self._extract_ism_formats( formats.extend(self._extract_ism_formats(
azure_manifest_url % '', video_id, ism_id='%s-mss' % cdn, fatal=False)) azure_manifest_url % '', video_id, ism_id='%s-mss' % cdn, fatal=False))
azure_progressive_base = get_cdn_shield_base('Prog', '-d') azure_progressive_base = get_cdn_shield_base('Prog', True)
azure_file_distribution = stream_data.get('azureFileDistribution') azure_file_distribution = stream_data.get('azureFileDistribution')
if azure_file_distribution: if azure_file_distribution:
fds = azure_file_distribution.split(',') fds = azure_file_distribution.split(',')