Compare commits
1 Commits
dev
...
b921cf9138
| Author | SHA1 | Date | |
|---|---|---|---|
| b921cf9138 |
@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "oxidespotify"
|
name = "oxidespotify"
|
||||||
version = "0.2.2"
|
version = "0.1.1"
|
||||||
description = "Client for Spotify API"
|
description = "Client for Spotify API"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
authors = [{ name = "Miwory", email = "miwory.uwu@gmail.com" }]
|
authors = [{ name = "Miwory", email = "miwory.uwu@gmail.com" }]
|
||||||
|
|||||||
@ -36,9 +36,7 @@ class SpotifyAPIClient(OxideHTTP):
|
|||||||
async def _process[T: BaseModel](
|
async def _process[T: BaseModel](
|
||||||
self, req: Response | CachedResponse, schema: type[T] | None
|
self, req: Response | CachedResponse, schema: type[T] | None
|
||||||
) -> T | None:
|
) -> T | None:
|
||||||
if req.status_code == 204 or (
|
if req.status_code == 204:
|
||||||
req.status_code == 200 and schema is None
|
|
||||||
):
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if req.status_code >= 500:
|
if req.status_code >= 500:
|
||||||
@ -130,27 +128,11 @@ class SpotifyAPIClient(OxideHTTP):
|
|||||||
async def pause_playback(self) -> NoReturn:
|
async def pause_playback(self) -> NoReturn:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
async def skip_to_next(self, access_token: str, device_id: str) -> None:
|
async def skip_to_next(self) -> NoReturn:
|
||||||
req = self.post(
|
raise NotImplementedError
|
||||||
'/me/player/next',
|
|
||||||
params={'device_id': device_id},
|
|
||||||
headers=self._auth(access_token),
|
|
||||||
)
|
|
||||||
|
|
||||||
req = await self._process_request(req)
|
async def skip_to_previous(self) -> NoReturn:
|
||||||
return await self._process(req, None)
|
raise NotImplementedError
|
||||||
|
|
||||||
async def skip_to_previous(
|
|
||||||
self, access_token: str, device_id: str
|
|
||||||
) -> None:
|
|
||||||
req = self.post(
|
|
||||||
'/me/player/previous',
|
|
||||||
params={'device_id': device_id},
|
|
||||||
headers=self._auth(access_token),
|
|
||||||
)
|
|
||||||
|
|
||||||
req = await self._process_request(req)
|
|
||||||
return await self._process(req, None)
|
|
||||||
|
|
||||||
async def seek_to_position(self) -> NoReturn:
|
async def seek_to_position(self) -> NoReturn:
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|||||||
@ -41,8 +41,7 @@ class SpotifyAuthClient(OxideHTTP):
|
|||||||
|
|
||||||
data = await req.json()
|
data = await req.json()
|
||||||
if req.status_code >= 400:
|
if req.status_code >= 400:
|
||||||
err = f'{data["error"]}: {data["error_description"]}'
|
raise s.ClientError(req.status_code, data['error'])
|
||||||
raise s.ClientError(req.status_code, err)
|
|
||||||
|
|
||||||
return schema.model_validate(data)
|
return schema.model_validate(data)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user