|
@@ -26,6 +26,7 @@ from ..utils import (
|
|
unsmuggle_url,
|
|
unsmuggle_url,
|
|
UnsupportedError,
|
|
UnsupportedError,
|
|
url_basename,
|
|
url_basename,
|
|
|
|
+ url_infer_protocol,
|
|
xpath_text,
|
|
xpath_text,
|
|
)
|
|
)
|
|
from .brightcove import BrightcoveIE
|
|
from .brightcove import BrightcoveIE
|
|
@@ -34,6 +35,7 @@ from .ooyala import OoyalaIE
|
|
from .rutv import RUTVIE
|
|
from .rutv import RUTVIE
|
|
from .smotri import SmotriIE
|
|
from .smotri import SmotriIE
|
|
from .condenast import CondeNastIE
|
|
from .condenast import CondeNastIE
|
|
|
|
+from .udn import UDNEmbedIE
|
|
|
|
|
|
|
|
|
|
class GenericIE(InfoExtractor):
|
|
class GenericIE(InfoExtractor):
|
|
@@ -650,6 +652,17 @@ class GenericIE(InfoExtractor):
|
|
'title': "PFT Live: New leader in the 'new-look' defense",
|
|
'title': "PFT Live: New leader in the 'new-look' defense",
|
|
'description': 'md5:65a19b4bbfb3b0c0c5768bed1dfad74e',
|
|
'description': 'md5:65a19b4bbfb3b0c0c5768bed1dfad74e',
|
|
},
|
|
},
|
|
|
|
+ },
|
|
|
|
+ # UDN embed
|
|
|
|
+ {
|
|
|
|
+ 'url': 'http://www.udn.com/news/story/7314/822787',
|
|
|
|
+ 'md5': 'de06b4c90b042c128395a88f0384817e',
|
|
|
|
+ 'info_dict': {
|
|
|
|
+ 'id': '300040',
|
|
|
|
+ 'ext': 'mp4',
|
|
|
|
+ 'title': '生物老師男變女 全校挺"做自己"',
|
|
|
|
+ 'thumbnail': 're:^https?://.*\.jpg$',
|
|
|
|
+ }
|
|
}
|
|
}
|
|
]
|
|
]
|
|
|
|
|
|
@@ -1268,6 +1281,13 @@ class GenericIE(InfoExtractor):
|
|
if nbc_sports_url:
|
|
if nbc_sports_url:
|
|
return self.url_result(nbc_sports_url, 'NBCSportsVPlayer')
|
|
return self.url_result(nbc_sports_url, 'NBCSportsVPlayer')
|
|
|
|
|
|
|
|
+ # Look for UDN embeds
|
|
|
|
+ mobj = re.search(
|
|
|
|
+ r'<iframe[^>]+src="(?P<url>%s)"' % UDNEmbedIE._VALID_URL, webpage)
|
|
|
|
+ if mobj is not None:
|
|
|
|
+ return self.url_result(
|
|
|
|
+ url_infer_protocol(url, mobj.group('url')), 'UDNEmbed')
|
|
|
|
+
|
|
def check_video(vurl):
|
|
def check_video(vurl):
|
|
if YoutubeIE.suitable(vurl):
|
|
if YoutubeIE.suitable(vurl):
|
|
return True
|
|
return True
|