Files
AnyMusicBot/lib/ShazamIO/shazamio/serializers.py
2024-11-02 00:10:44 +02:00

28 lines
781 B
Python

from typing import Union
from shazamio.factory_misc import FACTORY_ARTIST, FACTORY_TRACK
from shazamio.schemas.artists import ArtistInfo, ArtistResponse, ArtistV2
from shazamio.schemas.models import ResponseTrack, TrackInfo, YoutubeData
class Serialize:
@classmethod
def track(cls, data):
return FACTORY_TRACK.load(data, TrackInfo)
@classmethod
def youtube(cls, data):
return FACTORY_TRACK.load(data, YoutubeData)
@classmethod
def artist_v2(cls, data) -> ArtistResponse:
return ArtistResponse.parse_obj(data)
@classmethod
def artist(cls, data):
return FACTORY_ARTIST.load(data, Union[ArtistV2, ArtistInfo])
@classmethod
def full_track(cls, data):
return FACTORY_TRACK.load(data, ResponseTrack)