projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[extractor/generic] Add support for arkena embeds
[youtube-dl]
/
youtube_dl
/
extractor
/
mtv.py
diff --git
a/youtube_dl/extractor/mtv.py
b/youtube_dl/extractor/mtv.py
index ed068365d3d4936d35e2e62146f1dcbec750728b..f3ec2ebbc5cd6289b760afb50c3fb48da17d3824 100644
(file)
--- a/
youtube_dl/extractor/mtv.py
+++ b/
youtube_dl/extractor/mtv.py
@@
-4,8
+4,9
@@
import re
from .common import InfoExtractor
from ..compat import (
from .common import InfoExtractor
from ..compat import (
- compat_urllib_parse,
+ compat_urllib_parse
_urlencode
,
compat_str,
compat_str,
+ compat_xpath,
)
from ..utils import (
ExtractorError,
)
from ..utils import (
ExtractorError,
@@
-14,9
+15,11
@@
from ..utils import (
float_or_none,
HEADRequest,
sanitized_Request,
float_or_none,
HEADRequest,
sanitized_Request,
+ strip_or_none,
unescapeHTML,
url_basename,
RegexNotFoundError,
unescapeHTML,
url_basename,
RegexNotFoundError,
+ xpath_text,
)
)
@@
-83,9
+86,10
@@
class MTVServicesInfoExtractor(InfoExtractor):
rtmp_video_url = rendition.find('./src').text
if rtmp_video_url.endswith('siteunavail.png'):
continue
rtmp_video_url = rendition.find('./src').text
if rtmp_video_url.endswith('siteunavail.png'):
continue
+ new_url = self._transform_rtmp_url(rtmp_video_url)
formats.append({
formats.append({
- 'ext': ext,
- 'url':
self._transform_rtmp_url(rtmp_video_url)
,
+ 'ext':
'flv' if new_url.startswith('rtmp') else
ext,
+ 'url':
new_url
,
'format_id': rendition.get('bitrate'),
'width': int(rendition.get('width')),
'height': int(rendition.get('height')),
'format_id': rendition.get('bitrate'),
'width': int(rendition.get('width')),
'height': int(rendition.get('height')),
@@
-130,11
+134,7
@@
class MTVServicesInfoExtractor(InfoExtractor):
message += item.text
raise ExtractorError(message, expected=True)
message += item.text
raise ExtractorError(message, expected=True)
- description_node = itemdoc.find('description')
- if description_node is not None:
- description = description_node.text.strip()
- else:
- description = None
+ description = strip_or_none(xpath_text(itemdoc, 'description'))
title_el = None
if title_el is None:
title_el = None
if title_el is None:
@@
-142,9
+142,9
@@
class MTVServicesInfoExtractor(InfoExtractor):
itemdoc, './/{http://search.yahoo.com/mrss/}category',
'scheme', 'urn:mtvn:video_title')
if title_el is None:
itemdoc, './/{http://search.yahoo.com/mrss/}category',
'scheme', 'urn:mtvn:video_title')
if title_el is None:
- title_el = itemdoc.find(
'.//{http://search.yahoo.com/mrss/}title'
)
+ title_el = itemdoc.find(
compat_xpath('.//{http://search.yahoo.com/mrss/}title')
)
if title_el is None:
if title_el is None:
- title_el = itemdoc.find(
'.//title') or itemdoc.find('./title'
)
+ title_el = itemdoc.find(
compat_xpath('.//title')
)
if title_el.text is None:
title_el = None
if title_el.text is None:
title_el = None
@@
-174,7
+174,7
@@
class MTVServicesInfoExtractor(InfoExtractor):
data = {'uri': uri}
if self._LANG:
data['lang'] = self._LANG
data = {'uri': uri}
if self._LANG:
data['lang'] = self._LANG
- return compat_urllib_parse
.
urlencode(data)
+ return compat_urllib_parse
_
urlencode(data)
def _get_videos_info(self, uri):
video_id = self._id_from_uri(uri)
def _get_videos_info(self, uri):
video_id = self._id_from_uri(uri)