Merge remote-tracking branch 'upstream/master'
[youtube-dl] / youtube_dl / extractor / youtube.py
index 248105d7f21af0a8eb34261ee4ea54591f81c439..7d6d07b17840247f8f873f0f6e3aa564d2a394c6 100644 (file)
@@ -333,7 +333,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                 u"upload_date": u"20120506",
                 u"title": u"Icona Pop - I Love It (feat. Charli XCX) [OFFICIAL VIDEO]",
                 u"description": u"md5:b085c9804f5ab69f4adea963a2dceb3c",
-                u"uploader": u"IconaPop",
+                u"uploader": u"Icona Pop",
                 u"uploader_id": u"IconaPop"
             }
         },
@@ -777,12 +777,17 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
             if m_s is not None:
                 self.to_screen(u'%s: Encrypted signatures detected.' % video_id)
                 video_info['url_encoded_fmt_stream_map'] = [args['url_encoded_fmt_stream_map']]
-            m_s = re.search(r'[&,]s=', args['adaptive_fmts'])
+            m_s = re.search(r'[&,]s=', args.get('adaptive_fmts', u''))
             if m_s is not None:
-                video_info['url_encoded_fmt_stream_map'][0] += ','+args['adaptive_fmts']
-            else:
-                video_info['url_encoded_fmt_stream_map'][0] += ','+video_info['adaptive_fmts'][0]
-
+                if 'url_encoded_fmt_stream_map' in video_info:
+                    video_info['url_encoded_fmt_stream_map'][0] += ',' + args['adaptive_fmts']
+                else:
+                    video_info['url_encoded_fmt_stream_map'] = [args['adaptive_fmts']]
+            elif 'adaptive_fmts' in video_info:
+                if 'url_encoded_fmt_stream_map' in video_info:
+                    video_info['url_encoded_fmt_stream_map'][0] += ',' + video_info['adaptive_fmts'][0]
+                else:
+                    video_info['url_encoded_fmt_stream_map'] = video_info['adaptive_fmts']
         except ValueError:
             pass