utils.py 717 B

1234567891011121314151617181920212223
  1. from importlib import util
  2. import os
  3. from config import TOOLS_DIR
  4. def load_toolkit_module_by_id(toolkit_id):
  5. toolkit_path = os.path.join(TOOLS_DIR, f"{toolkit_id}.py")
  6. spec = util.spec_from_file_location(toolkit_id, toolkit_path)
  7. module = util.module_from_spec(spec)
  8. try:
  9. spec.loader.exec_module(module)
  10. print(f"Loaded module: {module.__name__}")
  11. if hasattr(module, "Tools"):
  12. return module.Tools()
  13. else:
  14. raise Exception("No Tools class found")
  15. except Exception as e:
  16. print(f"Error loading module: {toolkit_id}")
  17. # Move the file to the error folder
  18. os.rename(toolkit_path, f"{toolkit_path}.error")
  19. raise e