Rapsys Git
/
youtubedl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prepare to release.
[youtubedl]
/
youtube_dl
/
extractor
/
sunporno.py
diff --git
a/youtube_dl/extractor/sunporno.py
b/youtube_dl/extractor/sunporno.py
index 854d01beeb5cefd1f82d7991ee2c0ce75ad33dfa..68051169b974d7bc748238566be1c31734eb8ed7 100644
(file)
--- a/
youtube_dl/extractor/sunporno.py
+++ b/
youtube_dl/extractor/sunporno.py
@@
-12,25
+12,29
@@
from ..utils import (
class SunPornoIE(InfoExtractor):
class SunPornoIE(InfoExtractor):
- _VALID_URL = r'https?://(?:
www\.)?sunporno\.com/videos
/(?P<id>\d+)'
- _TEST
=
{
+ _VALID_URL = r'https?://(?:
(?:www\.)?sunporno\.com/videos|embeds\.sunporno\.com/embed)
/(?P<id>\d+)'
+ _TEST
S = [
{
'url': 'http://www.sunporno.com/videos/807778/',
'url': 'http://www.sunporno.com/videos/807778/',
- 'md5': '
6457d3c165fd6de062b99ef6c2ff4c86
',
+ 'md5': '
507887e29033502f29dba69affeebfc9
',
'info_dict': {
'id': '807778',
'info_dict': {
'id': '807778',
- 'ext': '
flv
',
+ 'ext': '
mp4
',
'title': 'md5:0a400058e8105d39e35c35e7c5184164',
'description': 'md5:a31241990e1bd3a64e72ae99afb325fb',
'title': 'md5:0a400058e8105d39e35c35e7c5184164',
'description': 'md5:a31241990e1bd3a64e72ae99afb325fb',
- 'thumbnail': 're:^https?://.*\.jpg$',
+ 'thumbnail':
r
're:^https?://.*\.jpg$',
'duration': 302,
'age_limit': 18,
}
'duration': 302,
'age_limit': 18,
}
- }
+ }, {
+ 'url': 'http://embeds.sunporno.com/embed/807778',
+ 'only_matching': True,
+ }]
def _real_extract(self, url):
video_id = self._match_id(url)
def _real_extract(self, url):
video_id = self._match_id(url)
- webpage = self._download_webpage(url, video_id)
+ webpage = self._download_webpage(
+ 'http://www.sunporno.com/videos/%s' % video_id, video_id)
title = self._html_search_regex(
r'<title>([^<]+)</title>', webpage, 'title')
title = self._html_search_regex(
r'<title>([^<]+)</title>', webpage, 'title')
@@
-40,15
+44,16
@@
class SunPornoIE(InfoExtractor):
r'poster="([^"]+)"', webpage, 'thumbnail', fatal=False)
duration = parse_duration(self._search_regex(
r'poster="([^"]+)"', webpage, 'thumbnail', fatal=False)
duration = parse_duration(self._search_regex(
- r'itemprop="duration">\s*(\d+:\d+)\s*<',
+ (r'itemprop="duration"[^>]*>\s*(\d+:\d+)\s*<',
+ r'>Duration:\s*<span[^>]+>\s*(\d+:\d+)\s*<'),
webpage, 'duration', fatal=False))
view_count = int_or_none(self._html_search_regex(
webpage, 'duration', fatal=False))
view_count = int_or_none(self._html_search_regex(
- r'class="views">\s*(\d+)\s*<',
+ r'class="views">
(?:<noscript>)?
\s*(\d+)\s*<',
webpage, 'view count', fatal=False))
comment_count = int_or_none(self._html_search_regex(
r'(\d+)</b> Comments?',
webpage, 'view count', fatal=False))
comment_count = int_or_none(self._html_search_regex(
r'(\d+)</b> Comments?',
- webpage, 'comment count', fatal=False))
+ webpage, 'comment count', fatal=False
, default=None
))
formats = []
quality = qualities(['mp4', 'flv'])
formats = []
quality = qualities(['mp4', 'flv'])