"""API Client for pure ows-accounting.""" import requests class AccountingAPIClient: """API Client for ows-accounting.""" def __init__(self, base_url, headers): """Initialize ows_accounting_APIClient class.""" self.base_url = base_url self.headers = headers def get_physical_reserves(self, params): """Execute a GET against get-physical-reserves.""" endpoint = '{}/get-physical-reserves'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_current_accounting_period(self): """Execute a GET against accounting_period.""" endpoint = '{}/accounting_period'.format(self.base_url) return requests.get(endpoint, headers=self.headers) def get_holds_active(self, params): """Execute a GET against /holds/active.""" endpoint = '{}/holds/active'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_revenue(self, params): """Execute a GET against /revenue.""" endpoint = '{}/revenue'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_payments(self, params): """Execute a GET against /payments.""" endpoint = '{}/payments'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_transaction_types(self, params): """Execute a GET against /transaction_types.""" endpoint = '{}/transaction_types'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_attachments(self, params): """Execute a GET against /attachments.""" endpoint = '{}/attachments'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def post_report(self, data): """Execute a POST against /report""" endpoint = '{}/report'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=data) def get_reports(self, params): """Execute a GET against /reports.""" endpoint = '{}/reports'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params)