
     i                         d dl mZmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dl
mZ d dl
mZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ  G d d          ZdS )    )UnionList)BaseDataModel)FACTORY_ARTIST)FACTORY_TRACK)FullAlbumsModel)
ArtistInfo)ArtistResponse)ArtistV2)ResponseTrack)	TrackInfo)YoutubeData)
AlbumModel)PlayListc                      e Zd Zed             Zedefd            Zedee         fd            Zed             Z	ede
fd            Zedefd            Zed             Zed	             Zedeee                  fd
            ZdS )	Serializec                 6    t          j        |t                    S N)r   loadr   clsdatas     \/root/.openclaw/workspace/.venvs/songid/lib/python3.11/site-packages/shazamio/serializers.pytrackzSerialize.track   s    !$	222    returnc                 *    t          j        |          S r   )r   model_validater   s     r   playlistzSerialize.playlist   s    &t,,,r   c                 H      fd|                     dg           D             S )Nc                 :    g | ]}                     |          S  )r   ).0plr   s     r   
<listcomp>z'Serialize.playlists.<locals>.<listcomp>   s%    @@@RR  @@@r   r   )getr   s   ` r   	playlistszSerialize.playlists   s+    @@@@488FB+?+?@@@@r   c                 6    t          j        |t                    S r   )r   r   r   r   s     r   youtubezSerialize.youtube   s    !$444r   c                 *    t          j        |          S r   )r
   r   r   s     r   	artist_v2zSerialize.artist_v2"   s    ,T222r   c                 *    t          j        |          S r   )r   r   r   s     r   artist_albumszSerialize.artist_albums&   s    -d333r   c                 Z    t          j        |t          t          t          f                   S r   )r   r   r   r   r	   r   s     r   artistzSerialize.artist*   s    "4x/C)DEEEr   c                 6    t          j        |t                    S r   )r   r   r   r   s     r   
full_trackzSerialize.full_track.   s    !$666r   c                 b    t           t          t                                                |          S r   )r   r   r   r   r   s     r   
album_infozSerialize.album_info2   s     T*-.==dCCCr   N)__name__
__module____qualname__classmethodr   r   r   r   r'   r)   r
   r+   r   r-   r/   r1   r   r   r3   r"   r   r   r   r      s^       3 3 [3 -x - - - [- AX A A A [A 5 5 [5 3 3 3 3 [3 4O 4 4 4 [4 F F [F 7 7 [7 DtJ/?!@ D D D [D D Dr   r   N)typingr   r   shazamio.schemas.baser   shazamio.factory_miscr   r   )shazamio.schemas.artist.views.full_albumsr   shazamio.schemas.artistsr	   r
   r   shazamio.schemas.modelsr   r   r   shazamio.schemas.albumr   "shazamio.schemas.playlist.playlistr   r   r"   r   r   <module>r@      s1           / / / / / / 0 0 0 0 0 0 / / / / / / E E E E E E / / / / / / 3 3 3 3 3 3 - - - - - - 1 1 1 1 1 1 - - - - - - / / / / / / - - - - - - 7 7 7 7 7 7#D #D #D #D #D #D #D #D #D #Dr   