1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

Все подряд

This commit is contained in:
MoonTestUse1
2024-12-31 02:37:57 +06:00
parent 8e53bb6cb2
commit d5780b2eab
3258 changed files with 1087440 additions and 268 deletions

View File

@@ -0,0 +1,81 @@
import contextlib
import typing
ExceptionMapping = typing.Mapping[typing.Type[Exception], typing.Type[Exception]]
@contextlib.contextmanager
def map_exceptions(map: ExceptionMapping) -> typing.Iterator[None]:
try:
yield
except Exception as exc: # noqa: PIE786
for from_exc, to_exc in map.items():
if isinstance(exc, from_exc):
raise to_exc(exc) from exc
raise # pragma: nocover
class ConnectionNotAvailable(Exception):
pass
class ProxyError(Exception):
pass
class UnsupportedProtocol(Exception):
pass
class ProtocolError(Exception):
pass
class RemoteProtocolError(ProtocolError):
pass
class LocalProtocolError(ProtocolError):
pass
# Timeout errors
class TimeoutException(Exception):
pass
class PoolTimeout(TimeoutException):
pass
class ConnectTimeout(TimeoutException):
pass
class ReadTimeout(TimeoutException):
pass
class WriteTimeout(TimeoutException):
pass
# Network errors
class NetworkError(Exception):
pass
class ConnectError(NetworkError):
pass
class ReadError(NetworkError):
pass
class WriteError(NetworkError):
pass