projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7c05097
)
[vimeo] Fix rented videos (Closes #9830)
author
Sergey M․
<dstftw@gmail.com>
Sat, 18 Jun 2016 20:56:01 +0000
(
03:56
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Sat, 18 Jun 2016 20:56:01 +0000
(
03:56
+0700)
youtube_dl/extractor/vimeo.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/vimeo.py
b/youtube_dl/extractor/vimeo.py
index 0fd2c18a0e952aebac1ee4bbf9eb9ff8fb68dd97..c52986af664431885b2fbbeabd310bc1de153078 100644
(file)
--- a/
youtube_dl/extractor/vimeo.py
+++ b/
youtube_dl/extractor/vimeo.py
@@
-8,6
+8,7
@@
import itertools
from .common import InfoExtractor
from ..compat import (
compat_HTTPError,
from .common import InfoExtractor
from ..compat import (
compat_HTTPError,
+ compat_str,
compat_urlparse,
)
from ..utils import (
compat_urlparse,
)
from ..utils import (
@@
-24,6
+25,7
@@
from ..utils import (
urlencode_postdata,
unescapeHTML,
parse_filesize,
urlencode_postdata,
unescapeHTML,
parse_filesize,
+ try_get,
)
)
@@
-445,7
+447,18
@@
class VimeoIE(VimeoBaseInfoExtractor):
if config.get('view') == 4:
config = self._verify_player_video_password(url, video_id)
if config.get('view') == 4:
config = self._verify_player_video_password(url, video_id)
- if '>You rented this title.<' in webpage:
+ def is_rented():
+ if '>You rented this title.<' in webpage:
+ return True
+ if config.get('user', {}).get('purchased'):
+ return True
+ label = try_get(
+ config, lambda x: x['video']['vod']['purchase_options'][0]['label_string'], compat_str)
+ if label and label.startswith('You rented this'):
+ return True
+ return False
+
+ if is_rented():
feature_id = config.get('video', {}).get('vod', {}).get('feature_id')
if feature_id and not data.get('force_feature_id', False):
return self.url_result(smuggle_url(
feature_id = config.get('video', {}).get('vod', {}).get('feature_id')
if feature_id and not data.get('force_feature_id', False):
return self.url_result(smuggle_url(