main.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. from DynLoader.modInfo import modInfo
  5. class DynLoaderMod(object):
  6. instance = None
  7. @staticmethod
  8. def getInstance():
  9. if DynLoaderMod.instance==None:
  10. DynLoaderMod.instance = DynLoaderMod()
  11. return DynLoaderMod.instance
  12. def __init__(self,dir,method_prefix=""):
  13. self._modules = []
  14. files = os.listdir(dir)
  15. self._prefix = method_prefix
  16. _mod = modInfo.modInfo
  17. for f in files:
  18. if f!='__pycache__' and f.endswith(".py"):
  19. self._modules.append({
  20. "file": f,
  21. "modInfo": modInfo(dir+"/"+f)
  22. })
  23. def __del__(self):
  24. for x in range(self._modules):
  25. del self._modules[x]
  26. del self._modules
  27. def execute(self, method, arg1 = None, arg2 = None, arg3 = None):
  28. for m in self._modules:
  29. if m["modInfo"].Loaded:
  30. m["modInfo"].Execute(method, arg1, arg2, arg3)