diff options
| author | sigoden <sigoden@gmail.com> | 2024-06-07 04:06:59 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-07 04:06:59 +0800 |
| commit | 2b07fc2c7e4e6311d35ae72c17b25e47680d61f6 (patch) | |
| tree | 813ea77176ccd89d91aa7b4e70771755eaf2cf41 /scripts/bin.py | |
| parent | 6d1ad27900634bd16089eb3fe847fe9583dcf3d9 (diff) | |
| download | llm-functions-docker-2b07fc2c7e4e6311d35ae72c17b25e47680d61f6.tar.gz | |
refactor: rename scripts (#29)
Diffstat (limited to 'scripts/bin.py')
| -rwxr-xr-x | scripts/bin.py | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/scripts/bin.py b/scripts/bin.py deleted file mode 100755 index 0ea49ed..0000000 --- a/scripts/bin.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python - -import os -import json -import sys -import importlib.util - -def parse_argv(): - func_name = sys.argv[0] - func_data = 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_name = os.path.basename(func_name) - func_data = sys.argv[1] if len(sys.argv) > 1 else None - - if func_name.endswith(".py"): - func_name = func_name[:-3] - - return func_name, func_data - -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(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_name}") - sys.exit(1) - -def load_env(file_path): - try: - with open(file_path, 'r') as f: - for line in f: - line = line.strip() - if line.startswith('#') or line == '': - continue - - key, *value = line.split('=') - os.environ[key.strip()] = '='.join(value).strip() - except FileNotFoundError: - pass - -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_name, func_data = parse_argv() - -os.environ["LLM_FUNCTION_NAME"] = func_name - -if os.getenv("LLM_FUNCTION_ACTION") == "declarate": - module = load_func(func_name) - print(json.dumps(module.declarate(), indent=2)) -else: - if not func_data: - print("No json data") - sys.exit(1) - - args = None - try: - args = json.loads(func_data) - except (json.JSONDecodeError, TypeError): - print("Invalid json data") - sys.exit(1) - - module = load_func(func_name) - module.execute(args)
\ No newline at end of file |
