mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-29 12:53:44 +03:00
49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
import sys
|
|
|
|
from ._custom import (
|
|
ReadCancelledError,
|
|
TypeNotFoundError,
|
|
InvalidChecksumError,
|
|
InvalidBufferError,
|
|
SecurityError,
|
|
CdnFileTamperedError,
|
|
BadMessageError,
|
|
MultiError,
|
|
)
|
|
from ._rpcbase import (
|
|
RpcError,
|
|
InvalidDcError,
|
|
BadRequestError,
|
|
UnauthorizedError,
|
|
ForbiddenError,
|
|
NotFoundError,
|
|
AuthKeyError,
|
|
FloodError,
|
|
ServerError,
|
|
BotTimeout,
|
|
TimedOutError,
|
|
_mk_error_type
|
|
)
|
|
|
|
if sys.version_info < (3, 7):
|
|
# https://stackoverflow.com/a/7668273/
|
|
class _TelethonErrors:
|
|
def __init__(self, _mk_error_type, everything):
|
|
self._mk_error_type = _mk_error_type
|
|
self.__dict__.update({
|
|
k: v
|
|
for k, v in everything.items()
|
|
if isinstance(v, type) and issubclass(v, Exception)
|
|
})
|
|
|
|
def __getattr__(self, name):
|
|
return self._mk_error_type(name=name)
|
|
|
|
sys.modules[__name__] = _TelethonErrors(_mk_error_type, globals())
|
|
else:
|
|
# https://www.python.org/dev/peps/pep-0562/
|
|
def __getattr__(name):
|
|
return _mk_error_type(name=name)
|
|
|
|
del sys
|