projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
030aa5d
)
[nbcnews] Ignore HTTP errors while coping with playlists (Closes #4749)
author
Sergey M․
<dstftw@gmail.com>
Tue, 20 Jan 2015 15:23:51 +0000
(21:23 +0600)
committer
Sergey M․
<dstftw@gmail.com>
Tue, 20 Jan 2015 15:23:51 +0000
(21:23 +0600)
youtube_dl/extractor/nbc.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/nbc.py
b/youtube_dl/extractor/nbc.py
index 690c46b6a57be11edf36899b959318af5e482119..7ae66616a7efe15cd510c9c2731a4ba9a7ef82c6 100644
(file)
--- a/
youtube_dl/extractor/nbc.py
+++ b/
youtube_dl/extractor/nbc.py
@@
-6,6
+6,7
@@
import json
from .common import InfoExtractor
from ..compat import (
compat_str,
from .common import InfoExtractor
from ..compat import (
compat_str,
+ compat_HTTPError,
)
from ..utils import (
ExtractorError,
)
from ..utils import (
ExtractorError,
@@
-78,6
+79,16
@@
class NBCNewsIE(InfoExtractor):
},
'add_ie': ['ThePlatform'],
},
},
'add_ie': ['ThePlatform'],
},
+ {
+ 'url': 'http://www.nbcnews.com/feature/dateline-full-episodes/full-episode-family-business-n285156',
+ 'md5': 'fdbf39ab73a72df5896b6234ff98518a',
+ 'info_dict': {
+ 'id': 'Wjf9EDR3A_60',
+ 'ext': 'mp4',
+ 'title': 'FULL EPISODE: Family Business',
+ 'description': 'md5:757988edbaae9d7be1d585eb5d55cc04',
+ },
+ },
]
def _real_extract(self, url):
]
def _real_extract(self, url):
@@
-115,10
+126,19
@@
class NBCNewsIE(InfoExtractor):
if not base_url:
continue
playlist_url = base_url + '?form=MPXNBCNewsAPI'
if not base_url:
continue
playlist_url = base_url + '?form=MPXNBCNewsAPI'
- all_videos = self._download_json(playlist_url, title)['videos']
try:
try:
- info = next(v for v in all_videos if v['mpxId'] == mpxid)
+ all_videos = self._download_json(playlist_url, title)
+ except ExtractorError as ee:
+ if isinstance(ee.cause, compat_HTTPError):
+ continue
+ raise
+
+ if not all_videos or not 'videos' in all_videos:
+ continue
+
+ try:
+ info = next(v for v in all_videos['videos'] if v['mpxId'] == mpxid)
break
except StopIteration:
continue
break
except StopIteration:
continue