diff options
Diffstat (limited to 'youtube_dl/extractor/abc.py')
| -rw-r--r-- | youtube_dl/extractor/abc.py | 23 | 
1 files changed, 21 insertions, 2 deletions
| diff --git a/youtube_dl/extractor/abc.py b/youtube_dl/extractor/abc.py index f9a389f67..6a29e587f 100644 --- a/youtube_dl/extractor/abc.py +++ b/youtube_dl/extractor/abc.py @@ -12,7 +12,7 @@ from ..utils import (  class ABCIE(InfoExtractor):      IE_NAME = 'abc.net.au' -    _VALID_URL = r'http://www\.abc\.net\.au/news/[^/]+/[^/]+/(?P<id>\d+)' +    _VALID_URL = r'http://www\.abc\.net\.au/news/(?:[^/]+/){1,2}(?P<id>\d+)'      _TESTS = [{          'url': 'http://www.abc.net.au/news/2014-11-05/australia-to-staff-ebola-treatment-centre-in-sierra-leone/5868334', @@ -23,6 +23,7 @@ class ABCIE(InfoExtractor):              'title': 'Australia to help staff Ebola treatment centre in Sierra Leone',              'description': 'md5:809ad29c67a05f54eb41f2a105693a67',          }, +        'skip': 'this video has expired',      }, {          'url': 'http://www.abc.net.au/news/2015-08-17/warren-entsch-introduces-same-sex-marriage-bill/6702326',          'md5': 'db2a5369238b51f9811ad815b69dc086', @@ -36,6 +37,19 @@ class ABCIE(InfoExtractor):              'title': 'Marriage Equality: Warren Entsch introduces same sex marriage bill',          },          'add_ie': ['Youtube'], +        'skip': 'Not accessible from Travis CI server', +    }, { +        'url': 'http://www.abc.net.au/news/2015-10-23/nab-lifts-interest-rates-following-westpac-and-cba/6880080', +        'md5': 'b96eee7c9edf4fc5a358a0252881cc1f', +        'info_dict': { +            'id': '6880080', +            'ext': 'mp3', +            'title': 'NAB lifts interest rates, following Westpac and CBA', +            'description': 'md5:f13d8edc81e462fce4a0437c7dc04728', +        }, +    }, { +        'url': 'http://www.abc.net.au/news/2015-10-19/6866214', +        'only_matching': True,      }]      def _real_extract(self, url): @@ -43,9 +57,12 @@ class ABCIE(InfoExtractor):          webpage = self._download_webpage(url, video_id)          mobj = re.search( -            r'inline(?P<type>Video|YouTube)Data\.push\((?P<json_data>[^)]+)\);', +            r'inline(?P<type>Video|Audio|YouTube)Data\.push\((?P<json_data>[^)]+)\);',              webpage)          if mobj is None: +            expired = self._html_search_regex(r'(?s)class="expired-(?:video|audio)".+?<span>(.+?)</span>', webpage, 'expired', None) +            if expired: +                raise ExtractorError('%s said: %s' % (self.IE_NAME, expired), expected=True)              raise ExtractorError('Unable to extract video urls')          urls_info = self._parse_json( @@ -60,11 +77,13 @@ class ABCIE(InfoExtractor):          formats = [{              'url': url_info['url'], +            'vcodec': url_info.get('codec') if mobj.group('type') == 'Video' else 'none',              'width': int_or_none(url_info.get('width')),              'height': int_or_none(url_info.get('height')),              'tbr': int_or_none(url_info.get('bitrate')),              'filesize': int_or_none(url_info.get('filesize')),          } for url_info in urls_info] +          self._sort_formats(formats)          return { | 
