check video_play_path and use xpath_text
authoroittaa <oittaa@users.noreply.github.com>
Thu, 7 Jan 2016 05:26:14 +0000 (07:26 +0200)
committerSergey M․ <dstftw@gmail.com>
Thu, 7 Jan 2016 05:36:17 +0000 (11:36 +0600)
"This check should take place earlier and should be more general if not video_url:. Same should be done for video_play_path. Also these fields better extracted with xpath_text."

Suggestions by @dstftw

youtube_dl/extractor/crunchyroll.py

index 00d943f7747d6252edaae9ba8f9c2dc6efedc015..785594df87f692407276d559fad253df37ab6817 100644 (file)
@@ -329,8 +329,10 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
                 streamdata_req, video_id,
                 note='Downloading media info for %s' % video_format)
             stream_info = streamdata.find('./{default}preload/stream_info')
-            video_url = stream_info.find('./host').text
-            video_play_path = stream_info.find('./file').text
+            video_url = xpath_text(stream_info, './host')
+            video_play_path = xpath_text(stream_info, './file')
+            if not video_url or not video_play_path:
+                continue
             metadata = stream_info.find('./metadata')
             format_info = {
                 'format': video_format,