|
@@ -264,8 +264,15 @@ class InfoExtractor(object):
|
|
|
|
|
|
def extract(self, url):
|
|
|
"""Extracts URL information and returns it in list of dicts."""
|
|
|
- self.initialize()
|
|
|
- return self._real_extract(url)
|
|
|
+ try:
|
|
|
+ self.initialize()
|
|
|
+ return self._real_extract(url)
|
|
|
+ except ExtractorError:
|
|
|
+ raise
|
|
|
+ except compat_http_client.IncompleteRead as e:
|
|
|
+ raise ExtractorError('A network error has occured.', cause=e, expected=True)
|
|
|
+ except (KeyError,) as e:
|
|
|
+ raise ExtractorError('An extractor error has occured.', cause=e)
|
|
|
|
|
|
def set_downloader(self, downloader):
|
|
|
"""Sets the downloader for this IE."""
|