projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a5ac0c4
)
[arte] Detect unavailable videos (closes #13945)
author
Sergey M․
<dstftw@gmail.com>
Thu, 17 Aug 2017 17:58:23 +0000
(
00:58
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Thu, 17 Aug 2017 17:58:23 +0000
(
00:58
+0700)
youtube_dl/extractor/arte.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/arte.py
b/youtube_dl/extractor/arte.py
index 56baef29d4f644c1b52c7d2e5f26fcca7e89e9e4..02613cf5d9e86b6c10f49caab28916fae78868dc 100644
(file)
--- a/
youtube_dl/extractor/arte.py
+++ b/
youtube_dl/extractor/arte.py
@@
-9,12
+9,13
@@
from ..compat import (
compat_urllib_parse_urlparse,
)
from ..utils import (
compat_urllib_parse_urlparse,
)
from ..utils import (
+ ExtractorError,
find_xpath_attr,
find_xpath_attr,
- unified_strdate,
get_element_by_attribute,
int_or_none,
NO_DEFAULT,
qualities,
get_element_by_attribute,
int_or_none,
NO_DEFAULT,
qualities,
+ unified_strdate,
)
# There are different sources of video in arte.tv, the extraction process
)
# There are different sources of video in arte.tv, the extraction process
@@
-79,6
+80,13
@@
class ArteTVBaseIE(InfoExtractor):
info = self._download_json(json_url, video_id)
player_info = info['videoJsonPlayer']
info = self._download_json(json_url, video_id)
player_info = info['videoJsonPlayer']
+ vsr = player_info['VSR']
+
+ if not vsr and not player_info.get('VRU'):
+ raise ExtractorError(
+ 'Video %s is not available' % player_info.get('VID') or video_id,
+ expected=True)
+
upload_date_str = player_info.get('shootingDate')
if not upload_date_str:
upload_date_str = (player_info.get('VRA') or player_info.get('VDA') or '').split(' ')[0]
upload_date_str = player_info.get('shootingDate')
if not upload_date_str:
upload_date_str = (player_info.get('VRA') or player_info.get('VDA') or '').split(' ')[0]
@@
-107,7
+115,7
@@
class ArteTVBaseIE(InfoExtractor):
langcode = LANGS.get(lang, lang)
formats = []
langcode = LANGS.get(lang, lang)
formats = []
- for format_id, format_dict in
player_info['VSR']
.items():
+ for format_id, format_dict in
vsr
.items():
f = dict(format_dict)
versionCode = f.get('versionCode')
l = re.escape(langcode)
f = dict(format_dict)
versionCode = f.get('versionCode')
l = re.escape(langcode)