diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-04-19 19:55:53 +0200 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-04-19 19:55:53 +0200 | 
| commit | 7f9c31df880b02ef1746e2c73f4c1e5aee3da06a (patch) | |
| tree | 331cd55712c1cae4300fe1210f17876adc338d6d /youtube_dl/extractor/steam.py | |
| parent | 3fa6b6e29371325d2ba57fb3dcfd776810bb795a (diff) | |
[steam] Simplify
Diffstat (limited to 'youtube_dl/extractor/steam.py')
| -rw-r--r-- | youtube_dl/extractor/steam.py | 37 | 
1 files changed, 17 insertions, 20 deletions
diff --git a/youtube_dl/extractor/steam.py b/youtube_dl/extractor/steam.py index b3cbbfd77..89ac52e66 100644 --- a/youtube_dl/extractor/steam.py +++ b/youtube_dl/extractor/steam.py @@ -10,7 +10,7 @@ from ..utils import (  class SteamIE(InfoExtractor): -    _VALID_URL = r"""http://store\.steampowered\.com/ +    _VALID_URL = r"""(?x)http://store\.steampowered\.com/                  (agecheck/)?                  (?P<urltype>video|app)/ #If the page is only for videos or for a game                  (?P<gameID>\d+)/? @@ -39,15 +39,12 @@ class SteamIE(InfoExtractor):                      'playlist_index': 2,                  }              } -        ] +        ], +        'params': { +            'playlistend': 2, +        }      } - -    @classmethod -    def suitable(cls, url): -        """Receives a URL and returns True if suitable for this IE.""" -        return re.match(cls._VALID_URL, url, re.VERBOSE) is not None -      def _real_extract(self, url):          m = re.match(self._VALID_URL, url, re.VERBOSE)          gameID = m.group('gameID') @@ -64,26 +61,26 @@ class SteamIE(InfoExtractor):          game_title = self._html_search_regex(r'<h2 class="pageheader">(.*?)</h2>',                                               webpage, 'game title') -        urlRE = r"'movie_(?P<videoID>\d+)': \{\s*FILENAME: \"(?P<videoURL>[\w:/\.\?=]+)\"(,\s*MOVIE_NAME: \"(?P<videoName>[\w:/\.\?=\+-]+)\")?\s*\}," -        mweb = re.finditer(urlRE, webpage) -        namesRE = r'<span class="title">(?P<videoName>.+?)</span>' -        titles = re.finditer(namesRE, webpage) -        thumbsRE = r'<img class="movie_thumb" src="(?P<thumbnail>.+?)">' -        thumbs = re.finditer(thumbsRE, webpage) +        mweb = re.finditer( +            r"'movie_(?P<videoID>\d+)': \{\s*FILENAME: \"(?P<videoURL>[\w:/\.\?=]+)\"(,\s*MOVIE_NAME: \"(?P<videoName>[\w:/\.\?=\+-]+)\")?\s*\},", +            webpage) +        titles = re.finditer( +            r'<span class="title">(?P<videoName>.+?)</span>', webpage) +        thumbs = re.finditer( +            r'<img class="movie_thumb" src="(?P<thumbnail>.+?)">', webpage)          videos = [] -        for vid,vtitle,thumb in zip(mweb,titles,thumbs): +        for vid, vtitle, thumb in zip(mweb, titles, thumbs):              video_id = vid.group('videoID')              title = vtitle.group('videoName')              video_url = vid.group('videoURL')              video_thumb = thumb.group('thumbnail')              if not video_url:                  raise ExtractorError('Cannot find video url for %s' % video_id) -            info = { -                'id':video_id, -                'url':video_url, +            videos.append({ +                'id': video_id, +                'url': video_url,                  'ext': 'flv',                  'title': unescapeHTML(title),                  'thumbnail': video_thumb -                  } -            videos.append(info) +            })          return self.playlist_result(videos, gameID, game_title)  | 
