mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-06-25 20:24:47 +00:00
Apply suggestions from code review
This commit is contained in:
parent
e31f238dca
commit
8f6ebeceba
@ -1,5 +1,3 @@
|
|||||||
import urllib.parse
|
|
||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
from ..utils import (
|
from ..utils import (
|
||||||
clean_html,
|
clean_html,
|
||||||
@ -11,9 +9,9 @@ from ..utils import (
|
|||||||
parse_duration,
|
parse_duration,
|
||||||
parse_iso8601,
|
parse_iso8601,
|
||||||
remove_start,
|
remove_start,
|
||||||
str_or_none,
|
|
||||||
strip_or_none,
|
strip_or_none,
|
||||||
unescapeHTML,
|
unescapeHTML,
|
||||||
|
update_url,
|
||||||
url_or_none,
|
url_or_none,
|
||||||
)
|
)
|
||||||
from ..utils.traversal import traverse_obj
|
from ..utils.traversal import traverse_obj
|
||||||
@ -87,23 +85,25 @@ class Kenh14VideoIE(InfoExtractor):
|
|||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
'title': (
|
'title': (
|
||||||
strip_or_none(metadata.get('title'))
|
traverse_obj(metadata, ('title', {strip_or_none}))
|
||||||
or clean_html(self._og_search_title(webpage))
|
or clean_html(self._og_search_title(webpage))
|
||||||
or clean_html(get_element_by_class('vdbw-title', webpage))),
|
or clean_html(get_element_by_class('vdbw-title', webpage))),
|
||||||
'formats': [
|
'formats': [
|
||||||
{'url': f'https://{direct_url}', 'format_id': 'http'},
|
{'url': f'https://{direct_url}', 'format_id': 'http'},
|
||||||
*self._extract_m3u8_formats(f'https://{direct_url}/master.m3u8', video_id, fatal=False),
|
*self._extract_m3u8_formats(
|
||||||
|
f'https://{direct_url}/master.m3u8', video_id, fatal=False),
|
||||||
],
|
],
|
||||||
'duration': parse_duration(metadata.get('duration')),
|
'duration': traverse_obj(metadata, ('duration', {parse_duration})),
|
||||||
'description': (
|
'description': (
|
||||||
clean_html(self._og_search_description(webpage))
|
clean_html(self._og_search_description(webpage))
|
||||||
or clean_html(get_element_by_class('vdbw-sapo', webpage))),
|
or clean_html(get_element_by_class('vdbw-sapo', webpage))),
|
||||||
'thumbnail': (self._og_search_thumbnail(webpage) or attrs.get('data-thumb')),
|
'thumbnail': (self._og_search_thumbnail(webpage) or attrs.get('data-thumb')),
|
||||||
'uploader': strip_or_none(metadata.get('author')),
|
'uploader': traverse_obj(metadata, ('author', {strip_or_none})),
|
||||||
'timestamp': parse_iso8601(metadata.get('uploadtime'), delimiter=' '),
|
'timestamp': traverse_obj(metadata, (
|
||||||
'view_count': int_or_none(metadata.get('views')),
|
'uploadtime', {lambda x: parse_iso8601(x, delimiter=' ')})),
|
||||||
|
'view_count': traverse_obj(metadata, ('views', {int_or_none})),
|
||||||
'tags': traverse_obj(self._html_search_meta('keywords', webpage), (
|
'tags': traverse_obj(self._html_search_meta('keywords', webpage), (
|
||||||
{lambda x: x.split(';')}, lambda _, v: v, {str_or_none})),
|
{lambda x: x.split(';')}, ..., filter)),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -133,10 +133,10 @@ class Kenh14PlaylistIE(InfoExtractor):
|
|||||||
playlist_id = self._match_id(url)
|
playlist_id = self._match_id(url)
|
||||||
webpage = self._download_webpage(url, playlist_id)
|
webpage = self._download_webpage(url, playlist_id)
|
||||||
|
|
||||||
category_detail = get_element_by_class('category-detail', webpage)
|
category_detail = get_element_by_class('category-detail', webpage) or ''
|
||||||
embed_info = traverse_obj(
|
embed_info = traverse_obj(
|
||||||
self._yield_json_ld(webpage, playlist_id),
|
self._yield_json_ld(webpage, playlist_id),
|
||||||
(lambda _, v: v['name'] and v['alternateName']), get_all=False)
|
(lambda _, v: v['name'] and v['alternateName'], any)) or {}
|
||||||
|
|
||||||
return self.playlist_from_matches(
|
return self.playlist_from_matches(
|
||||||
get_elements_html_by_class('video-item', webpage), playlist_id,
|
get_elements_html_by_class('video-item', webpage), playlist_id,
|
||||||
@ -147,4 +147,4 @@ class Kenh14PlaylistIE(InfoExtractor):
|
|||||||
or unescapeHTML(embed_info.get('alternateName'))),
|
or unescapeHTML(embed_info.get('alternateName'))),
|
||||||
thumbnail=traverse_obj(
|
thumbnail=traverse_obj(
|
||||||
self._og_search_thumbnail(webpage),
|
self._og_search_thumbnail(webpage),
|
||||||
({url_or_none}, {lambda x: urllib.parse.urlunparse(urllib.parse.urlparse(x)._replace(query=None))})))
|
({url_or_none}, {lambda x: update_url(x, query=None)})))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user