diff --git a/oxrlib/loaders.py b/oxrlib/loaders.py index 5213a40df3b28e6172015d89f62a2ee4b624249d..5c802b185725b325e1cc71bc1ed9843bf4abd35c 100644 --- a/oxrlib/loaders.py +++ b/oxrlib/loaders.py @@ -4,25 +4,7 @@ import io import urllib.request import urllib.parse -class LoaderError(Exception): - pass - - -class LoaderNoDataError(LoaderError): - pass - - -class LoaderBadRequestError(LoaderError): - pass - - -class LoaderSourceError(LoaderError): - pass - - -class NoLoadersError(Exception): - pass - +from . import errors class FileCache: def __init__(self, dir_path, filename_pattern): @@ -34,7 +16,7 @@ class FileCache: try: return path.open() except FileNotFoundError as error: - raise LoaderNoDataError(path) from error + raise errors.LoaderNoDataError(path) from error class OXRAPIRequest: @@ -67,11 +49,11 @@ class OXRAPIRequest: if 200 <= status_code < 203: return response_body elif status_code == 404 or status_code == 410: - exc_class = LoaderNoDataError + exc_class = errors.LoaderNoDataError elif status_code >= 500: - exc_class = LoaderSourceError + exc_class = errors.LoaderSourceError else: - exc_class = LoaderBadRequestError + exc_class = errors.LoaderBadRequestError with response_body: raise exc_class(url, response_body.read(64 * 1024)) @@ -97,13 +79,13 @@ class LoaderChain: for loader in self.loaders: try: response = getattr(loader, orig_func.__name__)(*args, **kwargs) - except LoaderError as this_error: + except errors.LoaderError as this_error: error = this_error else: self.used_loader = loader return response else: - raise NoLoadersError() if error is None else error + raise errors.NoLoadersError() if error is None else error return load_wrapper @_wrap_load_method