[extractor/common] Fix numeric identifiers conversion in DASH URL templates
authorSergey M․ <dstftw@gmail.com>
Sat, 2 Apr 2016 12:48:05 +0000 (18:48 +0600)
committerSergey M․ <dstftw@gmail.com>
Sat, 2 Apr 2016 12:48:05 +0000 (18:48 +0600)
youtube_dl/extractor/common.py

index 94a5838915d9ac800a64e231cb80ba40e242c165..011edcc0a660349e4850396067a791dc3d9aa6fc 100644 (file)
@@ -1515,7 +1515,8 @@ class InfoExtractor(object):
                                 representation_ms_info['total_number'] = int(math.ceil(float(period_duration) / segment_duration))
                             media_template = representation_ms_info['media_template']
                             media_template = media_template.replace('$RepresentationID$', representation_id)
-                            media_template = re.sub(r'\$(Number|Bandwidth)(?:%(0\d+)d)?\$', r'%(\1)\2d', media_template)
+                            media_template = re.sub(r'\$(Number|Bandwidth)\$', r'%(\1)d', media_template)
+                            media_template = re.sub(r'\$(Number|Bandwidth)%(\d+)\$', r'%(\1)\2d', media_template)
                             media_template.replace('$$', '$')
                             representation_ms_info['segment_urls'] = [media_template % {'Number': segment_number, 'Bandwidth': representation_attrib.get('bandwidth')} for segment_number in range(representation_ms_info['start_number'], representation_ms_info['total_number'] + representation_ms_info['start_number'])]
                         if 'segment_urls' in representation_ms_info: