aboutsummaryrefslogtreecommitdiffstats
path: root/hypervideo_dl/extractor/aparat.py
diff options
context:
space:
mode:
Diffstat (limited to 'hypervideo_dl/extractor/aparat.py')
-rw-r--r--hypervideo_dl/extractor/aparat.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/hypervideo_dl/extractor/aparat.py b/hypervideo_dl/extractor/aparat.py
index da06a3c..1057233 100644
--- a/hypervideo_dl/extractor/aparat.py
+++ b/hypervideo_dl/extractor/aparat.py
@@ -33,19 +33,22 @@ class AparatIE(InfoExtractor):
'only_matching': True,
}]
+ def _parse_options(self, webpage, video_id, fatal=True):
+ return self._parse_json(self._search_regex(
+ r'options\s*=\s*({.+?})\s*;', webpage, 'options', default='{}'), video_id)
+
def _real_extract(self, url):
video_id = self._match_id(url)
- # Provides more metadata
+ # If available, provides more metadata
webpage = self._download_webpage(url, video_id, fatal=False)
+ options = self._parse_options(webpage, video_id, fatal=False)
- if not webpage:
+ if not options:
webpage = self._download_webpage(
'http://www.aparat.com/video/video/embed/vt/frame/showvideo/yes/videohash/' + video_id,
- video_id)
-
- options = self._parse_json(self._search_regex(
- r'options\s*=\s*({.+?})\s*;', webpage, 'options'), video_id)
+ video_id, 'Downloading embed webpage')
+ options = self._parse_options(webpage, video_id)
formats = []
for sources in (options.get('multiSRC') or []):