[nexx] make http format ids more consistent
authorRemita Amine <remitamine@gmail.com>
Sat, 25 Nov 2017 17:36:31 +0000 (18:36 +0100)
committerRemita Amine <remitamine@gmail.com>
Sat, 25 Nov 2017 17:36:31 +0000 (18:36 +0100)
youtube_dl/extractor/nexx.py

index d79a1ce2831ed91367874a31f77cdda43480a9b6..9203c04777db9d84ab7efad05476878e6687080f 100644 (file)
@@ -198,18 +198,15 @@ class NexxIE(InfoExtractor):
 
         AZURE_URL = 'http://nx%s%02d.akamaized.net/'
 
-        def get_cdn_base(cdn, prefix='-p'):
-            azure_base = None
+        def get_cdn_shield_base(shield_type='', prefix='-p'):
             for secure in ('', 's'):
-                cdn_shield = stream_data.get('cdn%sHTTP%s' % (cdn, secure.upper()))
+                cdn_shield = stream_data.get('cdnShield%sHTTP%s' % (shield_type, secure.upper()))
                 if cdn_shield:
-                    azure_base = 'http%s://%s' % (secure, cdn_shield)
-                    break
+                    return 'http%s://%s' % (secure, cdn_shield)
             else:
-                azure_base = AZURE_URL % (prefix, int(stream_data['azureAccount'].replace('nexxplayplus', '')))
-            return azure_base
+                return AZURE_URL % (prefix, int(stream_data['azureAccount'].replace('nexxplayplus', '')))
 
-        azure_stream_base = get_cdn_base('Shield')
+        azure_stream_base = get_cdn_shield_base()
         is_ml = ',' in language
         azure_manifest_url = '%s%s/%s_src%s.ism/Manifest' % (
             azure_stream_base, azure_locator, video_id, ('_manifest' if is_ml else '')) + '%s'
@@ -229,7 +226,7 @@ class NexxIE(InfoExtractor):
         formats.extend(self._extract_ism_formats(
             azure_manifest_url % '', video_id, ism_id='%s-mss' % cdn, fatal=False))
 
-        azure_progressive_base = get_cdn_base('ShieldProg', '-d')
+        azure_progressive_base = get_cdn_shield_base('Prog', '-d')
         azure_file_distribution = stream_data.get('azureFileDistribution')
         if azure_file_distribution:
             fds = azure_file_distribution.split(',')
@@ -242,7 +239,7 @@ class NexxIE(InfoExtractor):
                             f = {
                                 'url': '%s%s/%s_src_%s_%d.mp4' % (
                                     azure_progressive_base, azure_locator, video_id, ss[1], tbr),
-                                'format_id': 'http-%d' % tbr,
+                                'format_id': '%s-http-%d' % (cdn, tbr),
                                 'tbr': tbr,
                             }
                             width_height = ss[1].split('x')