aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/viidea.py
diff options
context:
space:
mode:
authorremitamine <remitamine@gmail.com>2015-11-07 20:38:33 +0100
committerSergey M․ <dstftw@gmail.com>2015-11-08 06:55:51 +0600
commit6fdb39ded15c6276b49fa67cb517bf1fed63af35 (patch)
treefefb02224c2aa98d8e1bf5d0404baf70a83e5094 /youtube_dl/extractor/viidea.py
parent8e3a2bd6200660f9fb9d485b1c924fa5462bd566 (diff)
downloadyoutube-dl-6fdb39ded15c6276b49fa67cb517bf1fed63af35.tar.xz
[viidia] Cleaup
[viidea] extract playlist if lecture is an event [viidia] use compat_str
Diffstat (limited to 'youtube_dl/extractor/viidea.py')
-rw-r--r--youtube_dl/extractor/viidea.py11
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 = [