Sergey M․
7 years ago
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with
15 additions and
0 deletions
-
youtube_dl/extractor/generic.py
-
youtube_dl/extractor/xfileshare.py
|
|
@ -104,6 +104,7 @@ from .mediasite import MediasiteIE |
|
|
|
from .springboardplatform import SpringboardPlatformIE |
|
|
|
from .yapfiles import YapFilesIE |
|
|
|
from .vice import ViceIE |
|
|
|
from .xfileshare import XFileShareIE |
|
|
|
|
|
|
|
|
|
|
|
class GenericIE(InfoExtractor): |
|
|
@ -2971,6 +2972,11 @@ class GenericIE(InfoExtractor): |
|
|
|
return self.playlist_from_matches( |
|
|
|
vice_urls, video_id, video_title, ie=ViceIE.ie_key()) |
|
|
|
|
|
|
|
xfileshare_urls = XFileShareIE._extract_urls(webpage) |
|
|
|
if xfileshare_urls: |
|
|
|
return self.playlist_from_matches( |
|
|
|
xfileshare_urls, video_id, video_title, ie=XFileShareIE.ie_key()) |
|
|
|
|
|
|
|
def merge_dicts(dict1, dict2): |
|
|
|
merged = {} |
|
|
|
for k, v in dict1.items(): |
|
|
|
|
|
@ -118,6 +118,15 @@ class XFileShareIE(InfoExtractor): |
|
|
|
'only_matching': True |
|
|
|
}] |
|
|
|
|
|
|
|
@staticmethod |
|
|
|
def _extract_urls(webpage): |
|
|
|
return [ |
|
|
|
mobj.group('url') |
|
|
|
for mobj in re.finditer( |
|
|
|
r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//(?:%s)/embed-[0-9a-zA-Z]+.*?)\1' |
|
|
|
% '|'.join(site for site in list(zip(*XFileShareIE._SITES))[0]), |
|
|
|
webpage)] |
|
|
|
|
|
|
|
def _real_extract(self, url): |
|
|
|
mobj = re.match(self._VALID_URL, url) |
|
|
|
video_id = mobj.group('id') |
|
|
|