Files
swingmusic-extended/app/serializers/artist.py
T
2025-01-29 12:31:18 +03:00

39 lines
767 B
Python

from dataclasses import asdict
from app.models.artist import Artist
def serialize_for_card(artist: Artist):
try:
artist_dict = asdict(artist)
except TypeError:
return {}
props_to_remove = {
"is_favorite",
"trackcount",
"duration",
"albumcount",
"playcount",
"playduration",
"playcount",
"lastplayed",
"id",
"genres",
"genrehashes",
"extra",
"created_date",
"date",
"fav_userids",
}
for key in props_to_remove:
artist_dict.pop(key, None)
artist_dict["type"] = "artist"
return artist_dict
def serialize_for_cards(artists: list[Artist]):
return [serialize_for_card(a) for a in artists]