1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-06-28 01:18:30 +00:00

style: return info dict instead of dynamically filling

This commit is contained in:
DarkCat09 2025-04-04 17:54:57 +04:00
parent 5f30070405
commit 45ca66f40d
No known key found for this signature in database

View File

@ -792,27 +792,28 @@ def _unmask_url(self, mask_url, vk_id):
def _parse_track_meta(self, meta, track_id=None): def _parse_track_meta(self, meta, track_id=None):
len_ = len(meta) len_ = len(meta)
info = {}
info['id'] = f'{meta[1]}_{meta[0]}' \ # track title
if len_ >= 2 and meta[1] and meta[0] \ title = unescapeHTML(meta[3]) if len_ >= 3 else None
else track_id # artists in one string, may include "feat."
artist = unescapeHTML(meta[4]) if len_ >= 4 else None
title = unescapeHTML(meta[3]) if len_ >= 3 else None # TODO: fallback return {
artist = unescapeHTML(meta[4]) if len_ >= 4 else None # artists in one string, may include "feat." 'id': (f'{meta[1]}_{meta[0]}'
info['title'] = join_nonempty(artist, title, delim=' - ') if len_ >= 2 and meta[1] and meta[0]
info['track'] = title else track_id),
info['uploader'] = artist
# artists as list 'title': join_nonempty(artist, title, delim=' - '),
info['artists'] = ( 'track': title,
# not htmlescaped unlike meta[4] 'uploader': artist,
traverse_obj((*meta[17], *meta[18]), (..., 'name'))
if len_ >= 18 else None
) or [artist]
info['duration'] = int_or_none(meta[5]) if len_ >= 5 else None # ['Main Artist', 'Feat. Artist']
info['thumbnails'] = [{'url': meta[14]}] if len_ >= 14 else [] 'artists': traverse_obj(
(*meta[17], *meta[18]) if len_ >= 18 else None,
(..., 'name'), default=[artist]),
'duration': int_or_none(meta[5]) if len_ >= 5 else None,
'thumbnails': [{'url': meta[14]}] if len_ >= 14 else [],
# meta[30] is 2 bits # meta[30] is 2 bits
# most significant: isExplicit # most significant: isExplicit
@ -822,10 +823,8 @@ def _parse_track_meta(self, meta, track_id=None):
# 01 = marked by RKN as "foreign agent" # 01 = marked by RKN as "foreign agent"
# 10 = explicit lyrics # 10 = explicit lyrics
# 11 = both E lyrics and "foreign agent" # 11 = both E lyrics and "foreign agent"
if len_ >= 30 and meta[30]: 'age_limit': 18 if len_ >= 30 and meta[30] else None,
info['age_limit'] = 18 }
return info
def _raise_if_blocked(self, meta, track_id): def _raise_if_blocked(self, meta, track_id):
reason = traverse_obj( reason = traverse_obj(