diff options
| -rw-r--r-- | youtube_dl/extractor/viidea.py | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/youtube_dl/extractor/viidea.py b/youtube_dl/extractor/viidea.py index ae9a42737..2541a36ed 100644 --- a/youtube_dl/extractor/viidea.py +++ b/youtube_dl/extractor/viidea.py @@ -4,11 +4,10 @@ import re  from .common import InfoExtractor  from ..compat import ( -    compat_HTTPError,      compat_urlparse, +    compat_str,  )  from ..utils import ( -    ExtractorError,      parse_duration,      js_to_json,      parse_iso8601, @@ -97,9 +96,9 @@ class ViideaIE(InfoExtractor):          webpage = self._download_webpage(url, lecture_slug) -        cfg = self._parse_json(self._search_regex(r'cfg\s*:\s*({[^}]+})', webpage, 'cfg'), lecture_slug, js_to_json) +        cfg = self._parse_json(self._search_regex([r'cfg\s*:\s*({.+?}),[\da-zA-Z_]:\(?function', r'cfg\s*:\s*({[^}]+})'], webpage, 'cfg'), lecture_slug, js_to_json) -        lecture_id = str(cfg['obj_id']) +        lecture_id = compat_str(cfg['obj_id'])          base_url = self._proto_relative_url(cfg['livepipe'], 'http:') @@ -118,7 +117,7 @@ class ViideaIE(InfoExtractor):          parts = cfg.get('videos')          if parts:              if len(parts) == 1: -                part = str(parts[0]) +                part = compat_str(parts[0])              if part:                  smil_url = '%s/%s/video/%s/smil.xml' % (base_url, lecture_slug, part)                  smil = self._download_smil(smil_url, lecture_id) @@ -132,7 +131,7 @@ class ViideaIE(InfoExtractor):                  for part in parts:                      entries.append(self.url_result('%s/%s/video/%s' % (base_url, lecture_slug, part), 'Viidea'))                  lecture_info['_type'] = 'multi_video' -        else: +        if not parts or lecture_data.get('type') == 'evt':              # Probably a playlist              playlist_webpage = self._download_webpage('%s/site/ajax/drilldown/?id=%s' % (base_url, lecture_id), lecture_id)              entries = [ | 
