Обработка отсутствия информации о позиции трека (#8)
This commit is contained in:
parent
68e5457fd3
commit
cd1d333fee
1 changed files with 5 additions and 2 deletions
7
main.py
7
main.py
|
|
@ -95,15 +95,18 @@ class BasicTrackInfo:
|
||||||
def from_json(json: dict):
|
def from_json(json: dict):
|
||||||
if not json['available']:
|
if not json['available']:
|
||||||
return None
|
return None
|
||||||
|
title = parse_title(json)
|
||||||
album_json = json['albums'][0]
|
album_json = json['albums'][0]
|
||||||
artists = parse_artists(json['artists'])
|
artists = parse_artists(json['artists'])
|
||||||
track_position = album_json['trackPosition']
|
track_position = album_json.get('trackPosition')
|
||||||
|
if track_position is None:
|
||||||
|
logging.warning('%s - %s не содержит информацию о позиции трека', artists[0], title)
|
||||||
|
track_position = {'index': 1, 'volume': 1}
|
||||||
album = BasicAlbumInfo.from_json(album_json)
|
album = BasicAlbumInfo.from_json(album_json)
|
||||||
if album is None:
|
if album is None:
|
||||||
raise ValueError
|
raise ValueError
|
||||||
url_template = 'https://' + json['ogImage']
|
url_template = 'https://' + json['ogImage']
|
||||||
has_lyrics = json['lyricsInfo']['hasAvailableTextLyrics']
|
has_lyrics = json['lyricsInfo']['hasAvailableTextLyrics']
|
||||||
title = parse_title(json)
|
|
||||||
return BasicTrackInfo(title=title, id=str(json['id']), real_id=json['realId'],
|
return BasicTrackInfo(title=title, id=str(json['id']), real_id=json['realId'],
|
||||||
number=track_position['index'], disc_number=track_position['volume'],
|
number=track_position['index'], disc_number=track_position['volume'],
|
||||||
artists=artists, album=album, url_template=url_template,
|
artists=artists, album=album, url_template=url_template,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue