"""API Client for ows-royalties.""" from time import sleep import requests class RoyaltiesAPIClient: """API Client for ows-royalties file_upload endpoints.""" FILE_UPLOAD_CONFIG_ENDPOINT = '{}/file-upload-config/{}' def __init__(self, base_url, headers): """Initialize ows_royalties_APIClient class.""" self.base_url = base_url self.headers = headers def get_file_upload_configs(self): """GET /file-upload-configs .""" endpoint = '{}/file-upload-configs'.format(self.base_url) return requests.get(endpoint, headers=self.headers) def get_file_upload_config_by_id(self, config_id): """GET /file-upload-config/ .""" endpoint = self.FILE_UPLOAD_CONFIG_ENDPOINT.format(self.base_url, config_id) return requests.get(endpoint, headers=self.headers) def post_file_upload_config(self, body): """POST /file-upload-config .""" endpoint = '{}/file-upload-config'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def put_file_upload_config_by_id(self, config_id, body): """PUT /file-upload-config/ .""" endpoint = self.FILE_UPLOAD_CONFIG_ENDPOINT.format(self.base_url, config_id) return requests.put(endpoint, headers=self.headers, json=body) def delete_file_upload_config_by_id(self, config_id): """DELETE /file-upload-config/ .""" endpoint = self.FILE_UPLOAD_CONFIG_ENDPOINT.format(self.base_url, config_id) return requests.delete(endpoint, headers=self.headers) def post_file_upload_cancel(self, file_key): """POST /file-upload/{file_key}/cancel .""" endpoint = '{}/file-upload/{}/cancel'.format(self.base_url, file_key) return requests.post(endpoint, headers=self.headers) def post_file_upload_complete(self, file_key): """POST /file-upload/{file_key}/complete .""" endpoint = '{}/file-upload/{}/complete'.format(self.base_url, file_key) return requests.post(endpoint, headers=self.headers) def get_file_upload_download(self, file_key): """GET /file-upload/{file_key}/download .""" endpoint = '{}/file-upload/{}/download'.format(self.base_url, file_key) return requests.get(endpoint, headers=self.headers) def post_file_upload_quarantine(self, file_key): """POST /file-upload/{file_key}/quarantine .""" endpoint = '{}/file-upload/{}/quarantine'.format(self.base_url, file_key) return requests.post(endpoint, headers=self.headers)