[5min] Remove helper method and modernize
Previously, other extractor would go call a private(!) helper method. Instead, just hardcode the 5min:video_id format - it's not if that would ever change.
This commit is contained in:
		@@ -3,7 +3,6 @@ from __future__ import unicode_literals
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
from .common import InfoExtractor
 | 
			
		||||
from .fivemin import FiveMinIE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AolIE(InfoExtractor):
 | 
			
		||||
@@ -42,31 +41,31 @@ class AolIE(InfoExtractor):
 | 
			
		||||
    def _real_extract(self, url):
 | 
			
		||||
        mobj = re.match(self._VALID_URL, url)
 | 
			
		||||
        video_id = mobj.group('id')
 | 
			
		||||
 | 
			
		||||
        playlist_id = mobj.group('playlist_id')
 | 
			
		||||
        if playlist_id and not self._downloader.params.get('noplaylist'):
 | 
			
		||||
            self.to_screen('Downloading playlist %s - add --no-playlist to just download video %s' % (playlist_id, video_id))
 | 
			
		||||
        if not playlist_id or self._downloader.params.get('noplaylist'):
 | 
			
		||||
            return self.url_result('5min:%s' % video_id)
 | 
			
		||||
 | 
			
		||||
            webpage = self._download_webpage(url, playlist_id)
 | 
			
		||||
            title = self._html_search_regex(
 | 
			
		||||
                r'<h1 class="video-title[^"]*">(.+?)</h1>', webpage, 'title')
 | 
			
		||||
            playlist_html = self._search_regex(
 | 
			
		||||
                r"(?s)<ul\s+class='video-related[^']*'>(.*?)</ul>", webpage,
 | 
			
		||||
                'playlist HTML')
 | 
			
		||||
            entries = [{
 | 
			
		||||
                '_type': 'url',
 | 
			
		||||
                'url': 'aol-video:%s' % m.group('id'),
 | 
			
		||||
                'ie_key': 'Aol',
 | 
			
		||||
            } for m in re.finditer(
 | 
			
		||||
                r"<a\s+href='.*videoid=(?P<id>[0-9]+)'\s+class='video-thumb'>",
 | 
			
		||||
                playlist_html)]
 | 
			
		||||
        self.to_screen('Downloading playlist %s - add --no-playlist to just download video %s' % (playlist_id, video_id))
 | 
			
		||||
 | 
			
		||||
            return {
 | 
			
		||||
                '_type': 'playlist',
 | 
			
		||||
                'id': playlist_id,
 | 
			
		||||
                'display_id': mobj.group('playlist_display_id'),
 | 
			
		||||
                'title': title,
 | 
			
		||||
                'entries': entries,
 | 
			
		||||
            }
 | 
			
		||||
        webpage = self._download_webpage(url, playlist_id)
 | 
			
		||||
        title = self._html_search_regex(
 | 
			
		||||
            r'<h1 class="video-title[^"]*">(.+?)</h1>', webpage, 'title')
 | 
			
		||||
        playlist_html = self._search_regex(
 | 
			
		||||
            r"(?s)<ul\s+class='video-related[^']*'>(.*?)</ul>", webpage,
 | 
			
		||||
            'playlist HTML')
 | 
			
		||||
        entries = [{
 | 
			
		||||
            '_type': 'url',
 | 
			
		||||
            'url': 'aol-video:%s' % m.group('id'),
 | 
			
		||||
            'ie_key': 'Aol',
 | 
			
		||||
        } for m in re.finditer(
 | 
			
		||||
            r"<a\s+href='.*videoid=(?P<id>[0-9]+)'\s+class='video-thumb'>",
 | 
			
		||||
            playlist_html)]
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            '_type': 'playlist',
 | 
			
		||||
            'id': playlist_id,
 | 
			
		||||
            'display_id': mobj.group('playlist_display_id'),
 | 
			
		||||
            'title': title,
 | 
			
		||||
            'entries': entries,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return FiveMinIE._build_result(video_id)
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,6 @@ from __future__ import unicode_literals
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
from .common import InfoExtractor
 | 
			
		||||
from .fivemin import FiveMinIE
 | 
			
		||||
from ..utils import (
 | 
			
		||||
    url_basename,
 | 
			
		||||
)
 | 
			
		||||
@@ -27,11 +26,10 @@ class EngadgetIE(InfoExtractor):
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    def _real_extract(self, url):
 | 
			
		||||
        mobj = re.match(self._VALID_URL, url)
 | 
			
		||||
        video_id = mobj.group('id')
 | 
			
		||||
        video_id = self._match_id(url)
 | 
			
		||||
 | 
			
		||||
        if video_id is not None:
 | 
			
		||||
            return FiveMinIE._build_result(video_id)
 | 
			
		||||
            return self.url_result('5min:%s' % video_id)
 | 
			
		||||
        else:
 | 
			
		||||
            title = url_basename(url)
 | 
			
		||||
            webpage = self._download_webpage(url, title)
 | 
			
		||||
@@ -39,5 +37,5 @@ class EngadgetIE(InfoExtractor):
 | 
			
		||||
            return {
 | 
			
		||||
                '_type': 'playlist',
 | 
			
		||||
                'title': title,
 | 
			
		||||
                'entries': [FiveMinIE._build_result(id) for id in ids]
 | 
			
		||||
                'entries': [self.url_result('5min:%s' % vid) for vid in ids]
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
from __future__ import unicode_literals
 | 
			
		||||
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
from .common import InfoExtractor
 | 
			
		||||
from ..utils import (
 | 
			
		||||
from ..compat import (
 | 
			
		||||
    compat_str,
 | 
			
		||||
    compat_urllib_parse,
 | 
			
		||||
)
 | 
			
		||||
from ..utils import (
 | 
			
		||||
    ExtractorError,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -13,7 +13,7 @@ from ..utils import (
 | 
			
		||||
class FiveMinIE(InfoExtractor):
 | 
			
		||||
    IE_NAME = '5min'
 | 
			
		||||
    _VALID_URL = r'''(?x)
 | 
			
		||||
        (?:https?://[^/]*?5min\.com/Scripts/PlayerSeed\.js\?(.*?&)?playList=|
 | 
			
		||||
        (?:https?://[^/]*?5min\.com/Scripts/PlayerSeed\.js\?(?:.*?&)?playList=|
 | 
			
		||||
            5min:)
 | 
			
		||||
        (?P<id>\d+)
 | 
			
		||||
        '''
 | 
			
		||||
@@ -41,13 +41,8 @@ class FiveMinIE(InfoExtractor):
 | 
			
		||||
        },
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def _build_result(cls, video_id):
 | 
			
		||||
        return cls.url_result('5min:%s' % video_id, cls.ie_key())
 | 
			
		||||
 | 
			
		||||
    def _real_extract(self, url):
 | 
			
		||||
        mobj = re.match(self._VALID_URL, url)
 | 
			
		||||
        video_id = mobj.group('id')
 | 
			
		||||
        video_id = self._match_id(url)
 | 
			
		||||
        embed_url = 'https://embed.5min.com/playerseed/?playList=%s' % video_id
 | 
			
		||||
        embed_page = self._download_webpage(embed_url, video_id,
 | 
			
		||||
                                            'Downloading embed page')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user