mungai-njoroge 655fd8bc22 add route to get all tracks in path
+ add routes to save album and artist as a playlist
2023-08-04 13:40:48 +03:00

36 lines
813 B
Python

from dataclasses import asdict
from app.models.track import Track
def track_serializer(track: Track, to_remove: set = {}, remove_disc=True) -> dict:
album_dict = asdict(track)
props = {
"date",
"genre",
"last_mod",
"og_title",
"og_album",
"copyright",
"disc",
"track",
}.union(to_remove)
if not remove_disc:
props.remove("disc")
props.remove("track")
props.update(key for key in album_dict.keys() if key.startswith("is_"))
props.remove("is_favorite")
for key in props:
album_dict.pop(key, None)
return album_dict
def serialize_tracks(
tracks: list[Track], _remove: set = {}, remove_disc=True
) -> list[dict]:
return [track_serializer(t, _remove, remove_disc) for t in tracks]