Source code for mopidy.models._collections

from typing import Literal

from pydantic.fields import Field
from pydantic.types import NonNegativeInt

from mopidy.models._base import BaseModel
from mopidy.models._models import Album, Artist, Track
from mopidy.types import Uri


[docs] class Playlist(BaseModel): """A playlist.""" model: Literal["Playlist"] = Field( default="Playlist", repr=False, alias="__model__", ) #: The playlist URI. Read-only. uri: Uri #: The playlist name. Read-only. name: str | None = None #: The playlist's tracks. Read-only. tracks: tuple[Track, ...] = () #: The playlist modification time in milliseconds since Unix epoch. #: Read-only. last_modified: NonNegativeInt | None = None @property def length(self) -> NonNegativeInt: """The number of tracks in the playlist. Read-only.""" return len(self.tracks)
[docs] class SearchResult(BaseModel): """A search result.""" model: Literal["SearchResult"] = Field( default="SearchResult", repr=False, alias="__model__", ) #: The search result URI. Read-only. uri: Uri | None = None #: The tracks matching the search query. Read-only. tracks: tuple[Track, ...] = () #: The artists matching the search query. Read-only. artists: tuple[Artist, ...] = () #: The albums matching the search query. Read-only. albums: tuple[Album, ...] = ()