libretime/api-client/libretime_api_client/v2.py

46 lines
1.8 KiB
Python
Raw Permalink Normal View History

from ._client import AbstractApiClient, Response, default_retry
2020-01-30 14:47:36 +01:00
class ApiClient(AbstractApiClient):
VERSION = "2.0"
def __init__(self, base_url: str, api_key: str):
super().__init__(
base_url=base_url,
retry=default_retry(),
)
self.session.headers.update({"Authorization": f"Api-Key {api_key}"})
2020-01-30 14:47:36 +01:00
def get_info(self, **kwargs) -> Response:
return self._request("GET", "/api/v2/info", **kwargs)
def get_version(self, **kwargs) -> Response:
return self._request("GET", "/api/v2/version", **kwargs)
2020-01-30 14:47:36 +01:00
def get_show(self, item_id: int, **kwargs) -> Response:
return self._request("GET", f"/api/v2/shows/{item_id}", **kwargs)
2021-05-27 16:23:02 +02:00
def get_show_instance(self, item_id: int, **kwargs) -> Response:
return self._request("GET", f"/api/v2/show-instances/{item_id}", **kwargs)
2020-01-30 14:47:36 +01:00
def list_schedule(self, **kwargs) -> Response:
return self._request("GET", "/api/v2/schedule", **kwargs)
def get_webstream(self, item_id: int, **kwargs) -> Response:
return self._request("GET", f"/api/v2/webstreams/{item_id}", **kwargs)
def get_file(self, item_id: int, **kwargs) -> Response:
return self._request("GET", f"/api/v2/files/{item_id}", **kwargs)
2020-01-30 14:47:36 +01:00
def update_file(self, item_id: int, **kwargs) -> Response:
return self._request("PATCH", f"/api/v2/files/{item_id}", **kwargs)
2020-01-30 14:47:36 +01:00
def download_file(self, item_id: int, **kwargs) -> Response:
return self._request("GET", f"/api/v2/files/{item_id}/download", **kwargs)
def get_stream_preferences(self, **kwargs) -> Response:
return self._request("GET", "/api/v2/stream/preferences", **kwargs)
def get_stream_state(self, **kwargs) -> Response:
return self._request("GET", "/api/v2/stream/state", **kwargs)