projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6780154
)
[cbs] Skip unavailable assets (closes #13490, closes #13506, closes #15776)
author
Sergey M․
<dstftw@gmail.com>
Mon, 19 Mar 2018 17:27:39 +0000
(
00:27
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Mon, 19 Mar 2018 17:27:39 +0000
(
00:27
+0700)
youtube_dl/extractor/cbs.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/cbs.py
b/youtube_dl/extractor/cbs.py
index 1268e38ef3c266bd5f4fac39b961f4788150ba71..f425562abd97fef41493fd7030a0327e4a5ff9e6 100644
(file)
--- a/
youtube_dl/extractor/cbs.py
+++ b/
youtube_dl/extractor/cbs.py
@@
-2,6
+2,7
@@
from __future__ import unicode_literals
from .theplatform import ThePlatformFeedIE
from ..utils import (
from .theplatform import ThePlatformFeedIE
from ..utils import (
+ ExtractorError,
int_or_none,
find_xpath_attr,
xpath_element,
int_or_none,
find_xpath_attr,
xpath_element,
@@
-61,6
+62,7
@@
class CBSIE(CBSBaseIE):
asset_types = []
subtitles = {}
formats = []
asset_types = []
subtitles = {}
formats = []
+ last_e = None
for item in items_data.findall('.//item'):
asset_type = xpath_text(item, 'assetType')
if not asset_type or asset_type in asset_types:
for item in items_data.findall('.//item'):
asset_type = xpath_text(item, 'assetType')
if not asset_type or asset_type in asset_types:
@@
-74,11
+76,17
@@
class CBSIE(CBSBaseIE):
query['formats'] = 'MPEG4,M3U'
elif asset_type in ('RTMP', 'WIFI', '3G'):
query['formats'] = 'MPEG4,FLV'
query['formats'] = 'MPEG4,M3U'
elif asset_type in ('RTMP', 'WIFI', '3G'):
query['formats'] = 'MPEG4,FLV'
- tp_formats, tp_subtitles = self._extract_theplatform_smil(
- update_url_query(tp_release_url, query), content_id,
- 'Downloading %s SMIL data' % asset_type)
+ try:
+ tp_formats, tp_subtitles = self._extract_theplatform_smil(
+ update_url_query(tp_release_url, query), content_id,
+ 'Downloading %s SMIL data' % asset_type)
+ except ExtractorError as e:
+ last_e = e
+ continue
formats.extend(tp_formats)
subtitles = self._merge_subtitles(subtitles, tp_subtitles)
formats.extend(tp_formats)
subtitles = self._merge_subtitles(subtitles, tp_subtitles)
+ if last_e and not formats:
+ raise last_e
self._sort_formats(formats)
info = self._extract_theplatform_metadata(tp_path, content_id)
self._sort_formats(formats)
info = self._extract_theplatform_metadata(tp_path, content_id)