33 lines
800 B
Python
33 lines
800 B
Python
"""
|
|
Classes designed to manage track-like objects
|
|
"""
|
|
from typing import Dict, List, Optional, Union
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class SimplifiedTrack(BaseModel):
|
|
"""
|
|
Track as returned by the Tracks API
|
|
|
|
https://developer.spotify.com/documentation/web-api/reference/#object-simplifiedtrackobject
|
|
"""
|
|
|
|
artists: List[Dict[str, Union[Dict[str, str], str]]]
|
|
available_markets: List[str]
|
|
disc_number: int
|
|
duration_ms: int
|
|
explicit: bool
|
|
external_urls: Dict[str, str]
|
|
href: str
|
|
spotify_id: str = Field(alias="id")
|
|
is_local: bool
|
|
is_playable: Optional[bool]
|
|
linked_from: Optional[str]
|
|
name: str
|
|
preview_url: Optional[str]
|
|
restrictions: Optional[str]
|
|
track_number: int
|
|
type_: str = Field(alias="type")
|
|
uri: str
|