From 5660af1614e2e7cd988c0cb12a8b1eb2e8c1e63c Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sun, 6 Oct 2019 10:14:43 -0500 Subject: [PATCH] genericize request methods in DrBotzoBackend --- hitomi/backends.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/hitomi/backends.py b/hitomi/backends.py index 27da9b1..779fb94 100644 --- a/hitomi/backends.py +++ b/hitomi/backends.py @@ -22,18 +22,24 @@ class DrBotzoError(requests.HTTPError): class DrBotzoBackend(object): """Basic HTTP requests API, wrapped with some authentication and config stuff.""" + def get(self, url, **kwargs): + return self.request('GET', url, **kwargs) + def post(self, url, **kwargs): + return self.request('POST', url, **kwargs) + + def request(self, method, url, **kwargs): """Wrap requests.post with authentication and hostname settings.""" try: - response = requests.post(urljoin(config.DR_BOTZO_BACKEND_HOST, url), - auth=(config.DR_BOTZO_BACKEND_USER, config.DR_BOTZO_BACKEND_PASS), **kwargs) + response = requests.request(method, urljoin(config.DR_BOTZO_BACKEND_HOST, url), + auth=(config.DR_BOTZO_BACKEND_USER, config.DR_BOTZO_BACKEND_PASS), **kwargs) response.raise_for_status() return response except requests.ConnectionError as cex: - logger.exception("received a connection error during POST %s", url) + logger.exception("received a connection error during %s %s", method, url) raise DrBotzoError(cex, detail="A connection error occurred.") except requests.HTTPError as httpex: - logger.exception("received an HTTP error during POST %s", url) + logger.exception("received an HTTP error during %s %s", method, url) try: detail = httpex.response.json()['detail'] raise DrBotzoError(httpex, detail=detail)