#!/usr/bin/env python # -*- coding: utf-8 -*- import os from DynLoader.modInfo import modInfo class DynLoaderMod(object): instance = None @staticmethod def getInstance(): if DynLoaderMod.instance==None: DynLoaderMod.instance = DynLoaderMod() return DynLoaderMod.instance def __init__(self,dir,method_prefix=""): self._modules = [] files = os.listdir(dir) self._prefix = method_prefix _mod = modInfo.modInfo for f in files: if f!='__pycache__' and f.endswith(".py"): self._modules.append({ "file": f, "modInfo": modInfo(dir+"/"+f) }) def __del__(self): for x in range(self._modules): del self._modules[x] del self._modules def execute(self, method, arg1 = None, arg2 = None, arg3 = None): for m in self._modules: if m["modInfo"].Loaded: m["modInfo"].Execute(method, arg1, arg2, arg3)