projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[nzz] Relax kaltura regex
[youtube-dl]
/
youtube_dl
/
extractor
/
ivi.py
diff --git
a/youtube_dl/extractor/ivi.py
b/youtube_dl/extractor/ivi.py
index 7c8cb21c2c5619b4809f5daf8605958a808eccb9..86c014b076bfaa1d7da143bdd7cb29c10438d2f3 100644
(file)
--- a/
youtube_dl/extractor/ivi.py
+++ b/
youtube_dl/extractor/ivi.py
@@
-15,7
+15,9
@@
from ..utils import (
class IviIE(InfoExtractor):
IE_DESC = 'ivi.ru'
IE_NAME = 'ivi'
class IviIE(InfoExtractor):
IE_DESC = 'ivi.ru'
IE_NAME = 'ivi'
- _VALID_URL = r'https?://(?:www\.)?ivi\.ru/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<id>\d+)'
+ _VALID_URL = r'https?://(?:www\.)?ivi\.(?:ru|tv)/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<id>\d+)'
+ _GEO_BYPASS = False
+ _GEO_COUNTRIES = ['RU']
_TESTS = [
# Single movie
_TESTS = [
# Single movie
@@
-28,7
+30,7
@@
class IviIE(InfoExtractor):
'title': 'Иван Васильевич меняет профессию',
'description': 'md5:b924063ea1677c8fe343d8a72ac2195f',
'duration': 5498,
'title': 'Иван Васильевич меняет профессию',
'description': 'md5:b924063ea1677c8fe343d8a72ac2195f',
'duration': 5498,
- 'thumbnail': 're:^https?://.*\.jpg$',
+ 'thumbnail':
r
're:^https?://.*\.jpg$',
},
'skip': 'Only works from Russia',
},
},
'skip': 'Only works from Russia',
},
@@
-46,7
+48,7
@@
class IviIE(InfoExtractor):
'episode': 'Дело Гольдберга (1 часть)',
'episode_number': 1,
'duration': 2655,
'episode': 'Дело Гольдберга (1 часть)',
'episode_number': 1,
'duration': 2655,
- 'thumbnail': 're:^https?://.*\.jpg$',
+ 'thumbnail':
r
're:^https?://.*\.jpg$',
},
'skip': 'Only works from Russia',
},
},
'skip': 'Only works from Russia',
},
@@
-60,10
+62,14
@@
class IviIE(InfoExtractor):
'title': 'Кукла',
'description': 'md5:ffca9372399976a2d260a407cc74cce6',
'duration': 5599,
'title': 'Кукла',
'description': 'md5:ffca9372399976a2d260a407cc74cce6',
'duration': 5599,
- 'thumbnail': 're:^https?://.*\.jpg$',
+ 'thumbnail':
r
're:^https?://.*\.jpg$',
},
'skip': 'Only works from Russia',
},
'skip': 'Only works from Russia',
- }
+ },
+ {
+ 'url': 'https://www.ivi.tv/watch/33560/',
+ 'only_matching': True,
+ },
]
# Sorted by quality
]
# Sorted by quality
@@
-91,7
+97,11
@@
class IviIE(InfoExtractor):
if 'error' in video_json:
error = video_json['error']
if 'error' in video_json:
error = video_json['error']
- if error['origin'] == 'NoRedisValidData':
+ origin = error['origin']
+ if origin == 'NotAllowedForLocation':
+ self.raise_geo_restricted(
+ msg=error['message'], countries=self._GEO_COUNTRIES)
+ elif origin == 'NoRedisValidData':
raise ExtractorError('Video %s does not exist' % video_id, expected=True)
raise ExtractorError(
'Unable to download video %s: %s' % (video_id, error['message']),
raise ExtractorError('Video %s does not exist' % video_id, expected=True)
raise ExtractorError(
'Unable to download video %s: %s' % (video_id, error['message']),