projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a025d3c
)
[patreon] Modernize
author
Philipp Hagemeister
<phihag@phihag.de>
Wed, 18 Feb 2015 23:38:05 +0000
(
00:38
+0100)
committer
Philipp Hagemeister
<phihag@phihag.de>
Wed, 18 Feb 2015 23:38:05 +0000
(
00:38
+0100)
youtube_dl/extractor/patreon.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/patreon.py
b/youtube_dl/extractor/patreon.py
index 5429592a75a9f66fdc9f0e9fb908af9e67559aae..e5c9822c5c57f3d296cda0ed71294093fa7449b7 100644
(file)
--- a/
youtube_dl/extractor/patreon.py
+++ b/
youtube_dl/extractor/patreon.py
@@
-11,7
+11,7
@@
from ..utils import (
class PatreonIE(InfoExtractor):
class PatreonIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?patreon\.com/creation\?hid=(
.
+)'
+ _VALID_URL = r'https?://(?:www\.)?patreon\.com/creation\?hid=(
?P<id>[^&#]
+)'
_TESTS = [
{
'url': 'http://www.patreon.com/creation?hid=743933',
_TESTS = [
{
'url': 'http://www.patreon.com/creation?hid=743933',
@@
-65,9
+65,7
@@
class PatreonIE(InfoExtractor):
'''
def _real_extract(self, url):
'''
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group(1)
-
+ video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._og_search_title(webpage).strip()
webpage = self._download_webpage(url, video_id)
title = self._og_search_title(webpage).strip()
@@
-80,11
+78,10
@@
class PatreonIE(InfoExtractor):
uploader = self._html_search_regex(
r'<strong>(.*?)</strong> is creating', webpage, 'uploader')
else:
uploader = self._html_search_regex(
r'<strong>(.*?)</strong> is creating', webpage, 'uploader')
else:
- playlist
_js =
self._search_regex(
+ playlist
= self._parse_json(
self._search_regex(
r'(?s)new\s+jPlayerPlaylist\(\s*\{\s*[^}]*},\s*(\[.*?,?\s*\])',
r'(?s)new\s+jPlayerPlaylist\(\s*\{\s*[^}]*},\s*(\[.*?,?\s*\])',
- webpage, 'playlist JSON')
- playlist_json = js_to_json(playlist_js)
- playlist = json.loads(playlist_json)
+ webpage, 'playlist JSON'),
+ video_id, transform_source=js_to_json)
data = playlist[0]
video_url = self._proto_relative_url(data['mp3'])
thumbnail = self._proto_relative_url(data.get('cover'))
data = playlist[0]
video_url = self._proto_relative_url(data['mp3'])
thumbnail = self._proto_relative_url(data.get('cover'))