added a bunch of stuff
This commit is contained in:
1 parent
5aaf6ede5d
commit
95c4dc96f6
26 files changed
+362
-27
No files matched your search
@@ -0,0 +1,60 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
@dataclass
|
||||
class ListenBrainzScrobble:
|
||||
artist_name: str
|
||||
release_name: str
|
||||
track_name: str
|
||||
|
||||
# Optional
|
||||
artist_mbids: list[str] | None = None
|
||||
release_group_mbid: str | None = None
|
||||
release_mbid: str | None = None
|
||||
recording_mbid: str | None = None
|
||||
track_mbid: str | None = None
|
||||
work_mbids: list[str] | None = None
|
||||
tracknumber: str | None = None
|
||||
isrc: str | None = None
|
||||
spotify_id: str | None = None
|
||||
tags: list[str] | None = None
|
||||
media_player: str | None = None
|
||||
media_player_version: str | None = None
|
||||
submission_client: str | None = None
|
||||
submission_client_version: str | None = None
|
||||
music_service: str | None = None
|
||||
music_service_name: str | None = None
|
||||
origin_url: str | None = None
|
||||
duration: int | None = None
|
||||
duration_ms: int | None = None
|
||||
|
||||
@staticmethod
|
||||
def from_json(data: dict):
|
||||
additional_info_keys = [
|
||||
'artist_mbids',
|
||||
'release_group_mbid',
|
||||
'release_mbid',
|
||||
'recording_mbid',
|
||||
'track_mbid',
|
||||
'work_mbids',
|
||||
'tracknumber',
|
||||
'isrc',
|
||||
'spotify_id',
|
||||
'tags',
|
||||
'media_player',
|
||||
'media_player_version',
|
||||
'submission_client',
|
||||
'submission_client_version',
|
||||
'music_service',
|
||||
'music_service_name',
|
||||
'origin_url',
|
||||
'duration',
|
||||
'duration_ms'
|
||||
]
|
||||
|
||||
add_info = data['additional_info']
|
||||
return ListenBrainzScrobble(
|
||||
artist_name=data['artist_name'],
|
||||
release_name=data['release_name'],
|
||||
track_name=data['track_name'],
|
||||
**{key:(add_info[key] if key in add_info else None) for key in additional_info_keys}
|
||||
)
|
||||
Reference in new issue
Block a user