From 8a796c3d6d99cfa8ef7aff0ae55bb0f23bbbeae1 Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 26 Apr 2021 09:16:28 +0100 Subject: hashserv: Use generic ConnectionError The Python built-in ConnectionError type can be used instead of a custom HashConnectionError type. This will make code refactoring simpler. Signed-off-by: Paul Barker Signed-off-by: Richard Purdie --- lib/hashserv/client.py | 20 ++++++++------------ lib/hashserv/tests.py | 3 +-- 2 files changed, 9 insertions(+), 14 deletions(-) (limited to 'lib/hashserv') diff --git a/lib/hashserv/client.py b/lib/hashserv/client.py index e05c1eb56..f370cba63 100644 --- a/lib/hashserv/client.py +++ b/lib/hashserv/client.py @@ -14,10 +14,6 @@ from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client logger = logging.getLogger("hashserv.client") -class HashConnectionError(Exception): - pass - - class AsyncClient(object): MODE_NORMAL = 0 MODE_GET_STREAM = 1 @@ -66,14 +62,14 @@ class AsyncClient(object): return await proc() except ( OSError, - HashConnectionError, + ConnectionError, json.JSONDecodeError, UnicodeDecodeError, ) as e: logger.warning("Error talking to server: %s" % e) if count >= 3: - if not isinstance(e, HashConnectionError): - raise HashConnectionError(str(e)) + if not isinstance(e, ConnectionError): + raise ConnectionError(str(e)) raise e await self.close() count += 1 @@ -82,12 +78,12 @@ class AsyncClient(object): async def get_line(): line = await self.reader.readline() if not line: - raise HashConnectionError("Connection closed") + raise ConnectionError("Connection closed") line = line.decode("utf-8") if not line.endswith("\n"): - raise HashConnectionError("Bad message %r" % message) + raise ConnectionError("Bad message %r" % message) return line @@ -119,7 +115,7 @@ class AsyncClient(object): await self.writer.drain() l = await self.reader.readline() if not l: - raise HashConnectionError("Connection closed") + raise ConnectionError("Connection closed") return l.decode("utf-8").rstrip() return await self._send_wrapper(proc) @@ -128,11 +124,11 @@ class AsyncClient(object): if new_mode == self.MODE_NORMAL and self.mode == self.MODE_GET_STREAM: r = await self.send_stream("END") if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode == self.MODE_GET_STREAM and self.mode == self.MODE_NORMAL: r = await self.send_message({"get-stream": None}) if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode != self.mode: raise Exception( "Undefined mode transition %r -> %r" % (self.mode, new_mode) diff --git a/lib/hashserv/tests.py b/lib/hashserv/tests.py index 1a696481e..e2b762dbf 100644 --- a/lib/hashserv/tests.py +++ b/lib/hashserv/tests.py @@ -6,7 +6,6 @@ # from . import create_server, create_client -from .client import HashConnectionError import hashlib import logging import multiprocessing @@ -277,7 +276,7 @@ class HashEquivalenceCommonTests(object): outhash2 = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44' unihash2 = '90e9bc1d1f094c51824adca7f8ea79a048d68824' - with self.assertRaises(HashConnectionError): + with self.assertRaises(ConnectionError): ro_client.report_unihash(taskhash2, self.METHOD, outhash2, unihash2) # Ensure that the database was not modified -- cgit 1.2.3-korg