Decorator error mapper
Project description
Error-mapper
Python error mapper based on decorators.
Installing
pip install error-mapper
Example
Error map
from error_mapper import ErrorMapType, error_map_decorator
class SuppressedError(Exception): ...
class RaiseError(Exception): ...
error_map: ErrorMapType = {
SuppressedError: RaiseError,
}
@error_map_decorator(error_map, RaiseError)
def fn() -> None:
raise SuppressedError
On error execute
from error_mapper import ErrorMapTypeExecute, on_error_execute
class SuppressedError(Exception): ...
class RaiseError(Exception): ...
def process_error(error: Exception) -> tp.NoReturn:
raise RaiseError from error
error_map: ErrorMapTypeExecute = {
SuppressedError: process_error,
}
@on_error_execute(error_map, RaiseError)
def fn() -> None:
raise SuppressedError
Suppress error to None
from error_mapper import suppress_to_none
class SuppressedError(Exception): ...
class RaiseError(Exception): ...
@suppress_to_none(SuppressedError)
def fn() -> None:
raise SuppressedError
assert fn() is None
Testing, linting, formatting
rye test
rye lint
rye fmt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
error_mapper-1.0.6.tar.gz
(7.9 kB
view hashes)
Built Distribution
Close
Hashes for error_mapper-1.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65d764ecdedc3adcbaa8ab718cf148fdcf23b151e2345530f5c8dbf4b477c384 |
|
MD5 | 7fc89bedd75c995a2530240e79ddc237 |
|
BLAKE2b-256 | fe8b456c490dab9578b596cd75a6b39d53b0306da6bf7f5653b8c840572a0aba |