projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ntvru] add support for non relative file URLs(closes #23140)
[youtube-dl]
/
youtube_dl
/
extractor
/
wistia.py
diff --git
a/youtube_dl/extractor/wistia.py
b/youtube_dl/extractor/wistia.py
index 2182d6fd485bf4f1ed6ead7d78451b7c357ddc37..0fbc888ec03ce6d09f853a82ea96328c927e4ae5 100644
(file)
--- a/
youtube_dl/extractor/wistia.py
+++ b/
youtube_dl/extractor/wistia.py
@@
-12,7
+12,7
@@
from ..utils import (
class WistiaIE(InfoExtractor):
class WistiaIE(InfoExtractor):
- _VALID_URL = r'(?:wistia:|https?://(?:fast\.)?wistia\.
net/embed/iframe/)(?P<id>[a-z0-9]+
)'
+ _VALID_URL = r'(?:wistia:|https?://(?:fast\.)?wistia\.
(?:net|com)/embed/(?:iframe|medias)/)(?P<id>[a-z0-9]{10}
)'
_API_URL = 'http://fast.wistia.com/embed/medias/%s.json'
_IFRAME_URL = 'http://fast.wistia.net/embed/iframe/%s'
_API_URL = 'http://fast.wistia.com/embed/medias/%s.json'
_IFRAME_URL = 'http://fast.wistia.net/embed/iframe/%s'
@@
-35,27
+35,34
@@
class WistiaIE(InfoExtractor):
# with hls video
'url': 'wistia:807fafadvk',
'only_matching': True,
# with hls video
'url': 'wistia:807fafadvk',
'only_matching': True,
+ }, {
+ 'url': 'http://fast.wistia.com/embed/iframe/sh7fpupwlt',
+ 'only_matching': True,
+ }, {
+ 'url': 'http://fast.wistia.net/embed/medias/sh7fpupwlt.json',
+ 'only_matching': True,
}]
}]
+ # https://wistia.com/support/embed-and-share/video-on-your-website
@staticmethod
def _extract_url(webpage):
match = re.search(
@staticmethod
def _extract_url(webpage):
match = re.search(
- r'<(?:meta[^>]+?content|
iframe[^>]+?src)=(["\'])(?P<url>(?:https?:)?//(?:fast\.)?wistia\.net/embed/iframe/.+?)\1
', webpage)
+ r'<(?:meta[^>]+?content|
(?:iframe|script)[^>]+?src)=["\'](?P<url>(?:https?:)?//(?:fast\.)?wistia\.(?:net|com)/embed/(?:iframe|medias)/[a-z0-9]{10})
', webpage)
if match:
return unescapeHTML(match.group('url'))
if match:
return unescapeHTML(match.group('url'))
- match = re.search(r'(?:id=["\']wistia_|data-wistia-?id=["\']|Wistia\.embed\(["\'])(?P<id>[^"\']+)', webpage)
- if match:
- return 'wistia:%s' % match.group('id')
-
match = re.search(
r'''(?sx)
<script[^>]+src=(["'])(?:https?:)?//fast\.wistia\.com/assets/external/E-v1\.js\1[^>]*>.*?
match = re.search(
r'''(?sx)
<script[^>]+src=(["'])(?:https?:)?//fast\.wistia\.com/assets/external/E-v1\.js\1[^>]*>.*?
- <div[^>]+class=(["']).*?\bwistia_async_(?P<id>[a-z0-9]
+
)\b.*?\2
+ <div[^>]+class=(["']).*?\bwistia_async_(?P<id>[a-z0-9]
{10}
)\b.*?\2
''', webpage)
if match:
return 'wistia:%s' % match.group('id')
''', webpage)
if match:
return 'wistia:%s' % match.group('id')
+ match = re.search(r'(?:data-wistia-?id=["\']|Wistia\.embed\(["\']|id=["\']wistia_)(?P<id>[a-z0-9]{10})', webpage)
+ if match:
+ return 'wistia:%s' % match.group('id')
+
def _real_extract(self, url):
video_id = self._match_id(url)
def _real_extract(self, url):
video_id = self._match_id(url)