diff --git a/spotify_model/__init__.py b/spotify_model/__init__.py index 9bc7bd8..45da82a 100644 --- a/spotify_model/__init__.py +++ b/spotify_model/__init__.py @@ -3,6 +3,6 @@ Client-agnostic model for marshalling Spotify data types. """ from .album import SearchAlbum -from .pagination import Paginated +from .paging import Paging -__all__ = ["Paginated", "SearchAlbum"] +__all__ = ["Paging", "SearchAlbum"] diff --git a/spotify_model/album.py b/spotify_model/album.py index 120b10f..9cb839b 100644 --- a/spotify_model/album.py +++ b/spotify_model/album.py @@ -8,7 +8,7 @@ from pydantic import BaseModel, Field class SearchAlbum(BaseModel): - "Album as returned by the search API" + "Album as returned by the search API. Doesn't quite return a SimplifiedAlbum." album_type: str artists: List[Dict[str, Union[Dict[str, str], str]]] diff --git a/spotify_model/paging.py b/spotify_model/paging.py new file mode 100644 index 0000000..f41633b --- /dev/null +++ b/spotify_model/paging.py @@ -0,0 +1,19 @@ +""" +Objects used for paging Spotify results +""" + +from typing import Any, Dict, List, Optional + +from pydantic import BaseModel, Field + + +class Paging(BaseModel): + "https://developer.spotify.com/documentation/web-api/reference/#object-pagingobject" + + href: str + items: List[Dict[str, Any]] + limit: int + next_href: Optional[str] = Field(alias="next") + offset: int + previous_href: Optional[str] = Field(alias="previous") + total: int