projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube:user] Preserve user/c path segment
[youtube-dl]
/
youtube_dl
/
extractor
/
mtv.py
diff --git
a/youtube_dl/extractor/mtv.py
b/youtube_dl/extractor/mtv.py
index ed068365d3d4936d35e2e62146f1dcbec750728b..dd06395891ac02ce81b40efd471776cb080d328d 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,
@@
-17,6
+18,7
@@
from ..utils import (
unescapeHTML,
url_basename,
RegexNotFoundError,
unescapeHTML,
url_basename,
RegexNotFoundError,
+ xpath_text,
)
)
@@
-83,9
+85,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
+133,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 = xpath_text(itemdoc, 'description')
title_el = None
if title_el is None:
title_el = None
if title_el is None:
@@
-142,9
+141,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
+173,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)