From eb5b5a312f2a04aa98eecc5b2821c6cadff8cc18 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sat, 21 Jan 2012 16:19:45 +0100 Subject: [PATCH] fix parsing youtube URL --- modules/youtube/pages.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/youtube/pages.py b/modules/youtube/pages.py index ce3388fd..8ad815af 100644 --- a/modules/youtube/pages.py +++ b/modules/youtube/pages.py @@ -103,12 +103,12 @@ class VideoPage(BaseYoutubePage): if not text: continue - pattern = "'PLAYER_CONFIG': " + pattern = "yt.playerConfig = " pos = text.find(pattern) if pos < 0: continue - sub = text[pos+len(pattern):pos+text[pos:].find('\n')] + sub = text[pos+len(pattern):pos+text[pos:].find('\n')].rstrip(';') a = json.loads(sub) for part in a['args']['url_encoded_fmt_stream_map'].split('&'): @@ -120,6 +120,8 @@ class VideoPage(BaseYoutubePage): fmt, url = value.split(',url=') formats[int(fmt)] = url + break + # choose the better format to use. for format in self.AVAILABLE_FORMATS[self.AVAILABLE_FORMATS.index(format):]: if format in formats: