diff options
| author | 2024-01-30 11:53:28 +0800 | |
|---|---|---|
| committer | 2024-01-30 11:53:28 +0800 | |
| commit | 09a6fbd72a9948bb539da4a5b1dd0ed7e5885e0a (patch) | |
| tree | 2a648715d7657e59f89f6f86ffce1ba1ec3bf59e | |
| parent | 8021ab1ca777f268249069e5d84ff0ac611e9762 (diff) | |
| download | infini-09a6fbd72a9948bb539da4a5b1dd0ed7e5885e0a.tar.gz infini-09a6fbd72a9948bb539da4a5b1dd0ed7e5885e0a.zip | |
feat(internal): auto register sub-packages into father package without new register variable
| -rw-r--r-- | src/infini/internal.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/infini/internal.py b/src/infini/internal.py index 460407a8..5924ad01 100644 --- a/src/infini/internal.py +++ b/src/infini/internal.py @@ -8,8 +8,8 @@ import inspect def require(name: str, paths: List | None = None) -> Register: - caller_frame = inspect.stack()[1] - caller_file = caller_frame[0].f_globals["__file__"] + caller_frame = inspect.stack()[1][0] + caller_file = caller_frame.f_globals["__file__"] default_paths = [Path(caller_file).resolve().parent] paths = [ @@ -21,4 +21,7 @@ def require(name: str, paths: List | None = None) -> Register: with Loader() as loader: loader.load(name) sys.path = sys.path[len(paths) - 1 :] - return loader.into_register() + register = loader.into_register() + + caller_frame.f_globals[f"{name}_register"] = register + return register |
