diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-05-13 09:50:03 +0200 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-05-13 09:50:03 +0200 | 
| commit | a172b258ac1f9a328b9302eaf3b0205b70fdc3f4 (patch) | |
| tree | 1e77f2c37c89ebad452b314e7e0a180e52a58b38 | |
| parent | 7b93c2c204d7bad9285b5c9db12ff2acb01338e6 (diff) | |
[vine:user] Simplify
| -rw-r--r-- | youtube_dl/extractor/vine.py | 33 | 
1 files changed, 14 insertions, 19 deletions
diff --git a/youtube_dl/extractor/vine.py b/youtube_dl/extractor/vine.py index 99e0b6400..076c87119 100644 --- a/youtube_dl/extractor/vine.py +++ b/youtube_dl/extractor/vine.py @@ -60,37 +60,32 @@ class VineIE(InfoExtractor):              'formats': formats,          } +  class VineUserIE(InfoExtractor):      IE_NAME = 'vine:user'      _VALID_URL = r'(?:https?://)?vine\.co/(?P<user>[^/]+)/?(\?.*)?$'      _VINE_BASE_URL = "https://vine.co/" -    def _profile_url(self, user): -        return "%sapi/users/profiles/vanity/%s"%(self._VINE_BASE_URL, user) - -    def _timeline_url(self, user_id, page=1): -        return "%sapi/timelines/users/%s?page=%s"%(self._VINE_BASE_URL, user_id, page) +    def _real_extract(self, url): +        mobj = re.match(self._VALID_URL, url) +        user = mobj.group('user') -    def _profile_data(self, user): -        return self._download_json(self._profile_url(user), user) +        profile_url = "%sapi/users/profiles/vanity/%s" % ( +            self._VINE_BASE_URL, user) +        profile_data = self._download_json( +            profile_url, user, note='Downloading user profile data') -    def _timeline_data(self, user): -        profile_data = self._profile_data(user)          user_id = profile_data['data']['userId']          timeline_data = []          for pagenum in itertools.count(1): -            timeline_page = self._download_json(self._timeline_url(user_id, pagenum), user) +            timeline_url = "%sapi/timelines/users/%s?page=%s" % ( +                self._VINE_BASE_URL, user_id, pagenum) +            timeline_page = self._download_json( +                timeline_url, user, note='Downloading page %d' % pagenum)              timeline_data.extend(timeline_page['data']['records'])              if timeline_page['data']['nextPage'] is None:                  break -        return timeline_data -    def _extract_videos(self, user): -        timeline_data = self._timeline_data(user) -        entries = [self.url_result(e['permalinkUrl'], 'Vine') for e in timeline_data] +        entries = [ +            self.url_result(e['permalinkUrl'], 'Vine') for e in timeline_data]          return self.playlist_result(entries, user) - -    def _real_extract(self, url): -        mobj = re.match(self._VALID_URL, url) -        user = mobj.group('user') -        return self._extract_videos(user)  | 
