mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
Initial commit
This commit is contained in:
38
venv/Lib/site-packages/uvicorn/importer.py
Normal file
38
venv/Lib/site-packages/uvicorn/importer.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import importlib
|
||||
from typing import Any
|
||||
|
||||
|
||||
class ImportFromStringError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def import_from_string(import_str: Any) -> Any:
|
||||
if not isinstance(import_str, str):
|
||||
return import_str
|
||||
|
||||
module_str, _, attrs_str = import_str.partition(":")
|
||||
if not module_str or not attrs_str:
|
||||
message = (
|
||||
'Import string "{import_str}" must be in format "<module>:<attribute>".'
|
||||
)
|
||||
raise ImportFromStringError(message.format(import_str=import_str))
|
||||
|
||||
try:
|
||||
module = importlib.import_module(module_str)
|
||||
except ModuleNotFoundError as exc:
|
||||
if exc.name != module_str:
|
||||
raise exc from None
|
||||
message = 'Could not import module "{module_str}".'
|
||||
raise ImportFromStringError(message.format(module_str=module_str))
|
||||
|
||||
instance = module
|
||||
try:
|
||||
for attr_str in attrs_str.split("."):
|
||||
instance = getattr(instance, attr_str)
|
||||
except AttributeError:
|
||||
message = 'Attribute "{attrs_str}" not found in module "{module_str}".'
|
||||
raise ImportFromStringError(
|
||||
message.format(attrs_str=attrs_str, module_str=module_str)
|
||||
)
|
||||
|
||||
return instance
|
Reference in New Issue
Block a user