spotify_model/spotify_model/playlist.py

44 lines
1004 B
Python

"""
Classes designed to manage playlist
"""
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
from .track import SimplifiedTrack
from .user import PublicUser
class PlaylistTrack(BaseModel):
"""
Track entry as returned by the Playlist API
https://developer.spotify.com/documentation/web-api/reference/#object-playlisttrackobject
"""
added_at: str
added_by: PublicUser
is_local: bool
track: Optional[SimplifiedTrack]
class SimplifiedPlaylist(BaseModel):
"""
Playlist as returned by the Playlist API
https://developer.spotify.com/documentation/web-api/reference/#object-simplifiedplaylistobject
"""
collaborative: bool
description: Optional[str]
external_urls: Dict[str, str]
href: str
spotify_id: str = Field(alias="id")
images: List[Dict[str, Any]]
name: str
owner: PublicUser
snapshot_id: str
tracks: Dict[str, Any]
spotify_type: str = Field(alias="type")
uri: str