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.5.tar.gz
(7.3 kB
view hashes)
Built Distribution
Close
Hashes for error_mapper-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02c8fe34fcac1563bd307b243633697911412650d1fb0196a11387e23ee9cfce |
|
MD5 | 598c264535aef8667084a571b6f2a72f |
|
BLAKE2b-256 | e1a1cdc06064ae37c0439f5c1de42ae77e04af3159b64074d37d85f0ee08322d |