45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
# This file was auto-generated by Fern from our API Definition.
|
|
|
|
# isort: skip_file
|
|
|
|
import typing
|
|
from importlib import import_module
|
|
|
|
if typing.TYPE_CHECKING:
|
|
from .bad_request_error import BadRequestError
|
|
from .conflict_error import ConflictError
|
|
from .forbidden_error import ForbiddenError
|
|
from .not_found_error import NotFoundError
|
|
from .unprocessable_entity_error import UnprocessableEntityError
|
|
_dynamic_imports: typing.Dict[str, str] = {
|
|
"BadRequestError": ".bad_request_error",
|
|
"ConflictError": ".conflict_error",
|
|
"ForbiddenError": ".forbidden_error",
|
|
"NotFoundError": ".not_found_error",
|
|
"UnprocessableEntityError": ".unprocessable_entity_error",
|
|
}
|
|
|
|
|
|
def __getattr__(attr_name: str) -> typing.Any:
|
|
module_name = _dynamic_imports.get(attr_name)
|
|
if module_name is None:
|
|
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
try:
|
|
module = import_module(module_name, __package__)
|
|
if module_name == f".{attr_name}":
|
|
return module
|
|
else:
|
|
return getattr(module, attr_name)
|
|
except ImportError as e:
|
|
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
except AttributeError as e:
|
|
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
|
|
|
|
def __dir__():
|
|
lazy_attrs = list(_dynamic_imports.keys())
|
|
return sorted(lazy_attrs)
|
|
|
|
|
|
__all__ = ["BadRequestError", "ConflictError", "ForbiddenError", "NotFoundError", "UnprocessableEntityError"]
|