diff options
Diffstat (limited to 'scripts/bin.py')
| -rwxr-xr-x | scripts/bin.py | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/scripts/bin.py b/scripts/bin.py index 6c56ea0..0ea49ed 100755 --- a/scripts/bin.py +++ b/scripts/bin.py @@ -6,30 +6,31 @@ import sys import importlib.util def parse_argv(): - func_file = sys.argv[0] + func_name = sys.argv[0] func_data = None - if func_file.endswith("bin.py"): - func_file = sys.argv[1] if len(sys.argv) > 1 else None + if func_name.endswith("bin.py"): + func_name = sys.argv[1] if len(sys.argv) > 1 else None func_data = sys.argv[2] if len(sys.argv) > 2 else None else: - func_file = os.path.basename(func_file) + func_name = os.path.basename(func_name) func_data = sys.argv[1] if len(sys.argv) > 1 else None - if not func_file.endswith(".py"): - func_file += ".py" + if func_name.endswith(".py"): + func_name = func_name[:-3] - return func_file, func_data + return func_name, func_data -def load_func(func_file): - func_path = os.path.join(os.environ["LLM_FUNCTIONS_DIR"], f"tools/{func_file}") +def load_func(func_name): + func_file_name = f"{func_name}.py" + func_path = os.path.join(os.environ["LLM_FUNCTIONS_DIR"], f"tools/{func_file_name}") if os.path.exists(func_path): - spec = importlib.util.spec_from_file_location(func_file, func_path) + spec = importlib.util.spec_from_file_location(f"{func_file_name}", func_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module else: - print(f"Invalid function: {func_file}") + print(f"Invalid function: {func_file_name}") sys.exit(1) def load_env(file_path): @@ -45,14 +46,16 @@ def load_env(file_path): except FileNotFoundError: pass -os.environ["LLM_FUNCTIONS_DIR"] = os.path.join(os.path.dirname(__file__), "..") +os.environ["LLM_FUNCTIONS_DIR"] = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) load_env(os.path.join(os.environ["LLM_FUNCTIONS_DIR"], ".env")) -func_file, func_data = parse_argv() +func_name, func_data = parse_argv() + +os.environ["LLM_FUNCTION_NAME"] = func_name if os.getenv("LLM_FUNCTION_ACTION") == "declarate": - module = load_func(func_file) + module = load_func(func_name) print(json.dumps(module.declarate(), indent=2)) else: if not func_data: @@ -66,5 +69,5 @@ else: print("Invalid json data") sys.exit(1) - module = load_func(func_file) + module = load_func(func_name) module.execute(args)
\ No newline at end of file |
