[bbccouk] Use expected_status
authorSergey M․ <dstftw@gmail.com>
Sun, 17 Jun 2018 21:04:47 +0000 (04:04 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 17 Jun 2018 21:54:59 +0000 (04:54 +0700)
youtube_dl/extractor/bbc.py

index 30a63a24e12296fca713cea3b6304c784ae4af15..293d82b0fbb4b903a66e6b451b1d1cd388b0cea3 100644 (file)
@@ -21,7 +21,6 @@ from ..utils import (
     urljoin,
 )
 from ..compat import (
-    compat_etree_fromstring,
     compat_HTTPError,
     compat_urlparse,
 )
@@ -334,14 +333,9 @@ class BBCCoUkIE(InfoExtractor):
         self._raise_extractor_error(last_exception)
 
     def _download_media_selector_url(self, url, programme_id=None):
-        try:
-            media_selection = self._download_xml(
-                url, programme_id, 'Downloading media selection XML')
-        except ExtractorError as ee:
-            if isinstance(ee.cause, compat_HTTPError) and ee.cause.code in (403, 404):
-                media_selection = compat_etree_fromstring(ee.cause.read().decode('utf-8'))
-            else:
-                raise
+        media_selection = self._download_xml(
+            url, programme_id, 'Downloading media selection XML',
+            expected_status=(403, 404))
         return self._process_media_selector(media_selection, programme_id)
 
     def _process_media_selector(self, media_selection, programme_id):