mirror of
https://github.com/l1ving/youtube-dl
synced 2024-12-31 01:27:53 +08:00
[mtv] imporove duration extraction
This commit is contained in:
parent
8765151c8a
commit
04cbc4980d
@ -111,7 +111,8 @@ class MTVServicesInfoExtractor(InfoExtractor):
|
||||
uri = itemdoc.find('guid').text
|
||||
video_id = self._id_from_uri(uri)
|
||||
self.report_extraction(video_id)
|
||||
mediagen_url = itemdoc.find('%s/%s' % (_media_xml_tag('group'), _media_xml_tag('content'))).attrib['url']
|
||||
content_el = itemdoc.find('%s/%s' % (_media_xml_tag('group'), _media_xml_tag('content')))
|
||||
mediagen_url = content_el.attrib['url']
|
||||
# Remove the templates, like &device={device}
|
||||
mediagen_url = re.sub(r'&[^=]*?={.*?}(?=(&|$))', '', mediagen_url)
|
||||
if 'acceptMethods' not in mediagen_url:
|
||||
@ -159,9 +160,6 @@ class MTVServicesInfoExtractor(InfoExtractor):
|
||||
if mtvn_id_node is not None:
|
||||
mtvn_id = mtvn_id_node.text
|
||||
|
||||
content_el = find_xpath_attr(itemdoc, self._xpath_ns('.//content', 'http://search.yahoo.com/mrss/'), 'duration')
|
||||
duration = float_or_none(content_el.attrib.get('duration')) if content_el is not None else None
|
||||
|
||||
return {
|
||||
'title': title,
|
||||
'formats': self._extract_video_formats(mediagen_doc, mtvn_id),
|
||||
@ -169,7 +167,7 @@ class MTVServicesInfoExtractor(InfoExtractor):
|
||||
'id': video_id,
|
||||
'thumbnail': self._get_thumbnail_url(uri, itemdoc),
|
||||
'description': description,
|
||||
'duration': duration,
|
||||
'duration': float_or_none(content_el.attrib.get('duration')),
|
||||
}
|
||||
|
||||
def _get_feed_query(self, uri):
|
||||
|
Loading…
Reference in New Issue
Block a user