diff options
| -rw-r--r-- | youtube_dl/extractor/tv2.py | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/youtube_dl/extractor/tv2.py b/youtube_dl/extractor/tv2.py index 86bb7915d..e4b4ac0e7 100644 --- a/youtube_dl/extractor/tv2.py +++ b/youtube_dl/extractor/tv2.py @@ -8,6 +8,7 @@ from ..utils import (      determine_ext,      int_or_none,      float_or_none, +    js_to_json,      parse_iso8601,      remove_end,  ) @@ -105,7 +106,7 @@ class TV2ArticleIE(InfoExtractor):          'url': 'http://www.tv2.no/2015/05/16/nyheter/alesund/krim/pingvin/6930542',          'info_dict': {              'id': '6930542', -            'title': 'Russen hetses etter pingvintyveri – innrømmer å ha åpnet luken på buret', +            'title': 'Russen hetses etter pingvintyveri - innrømmer å ha åpnet luken på buret',              'description': 'md5:339573779d3eea3542ffe12006190954',          },          'playlist_count': 2, @@ -119,9 +120,23 @@ class TV2ArticleIE(InfoExtractor):          webpage = self._download_webpage(url, playlist_id) +        # Old embed pattern (looks unused nowadays) +        assets = re.findall(r'data-assetid=["\'](\d+)', webpage) + +        if not assets: +            # New embed pattern +            for v in re.findall('TV2ContentboxVideo\(({.+?})\)', webpage): +                video = self._parse_json( +                    v, playlist_id, transform_source=js_to_json, fatal=False) +                if not video: +                    continue +                asset = video.get('assetId') +                if asset: +                    assets.append(asset) +          entries = [ -            self.url_result('http://www.tv2.no/v/%s' % video_id, 'TV2') -            for video_id in re.findall(r'data-assetid="(\d+)"', webpage)] +            self.url_result('http://www.tv2.no/v/%s' % asset_id, 'TV2') +            for asset_id in assets]          title = remove_end(self._og_search_title(webpage), ' - TV2.no')          description = remove_end(self._og_search_description(webpage), ' - TV2.no') | 
