def loadPlugins(self): settingsReader = ConfigReader(conf.getPluginsettings()) if not os.path.exists(conf.getPluginLoadSettings()): print("[!] Could not find plugin loader file!") return # Read and parse plugin file data = open(conf.getPluginLoadSettings(), "r").read() data = [x.split("\t") for x in data.split("\n") if not x.startswith("#") and x] data = [[x.strip() for x in y if x.strip()] for y in data] for x in [x for x in data if len(x) == 2]: try: if x[1].lower() == "load" or x[1].lower() == "default": # Load plugins i = importlib.import_module(x[0].replace("/", ".")) plugin = getattr(i, x[0].split("/")[-1])() plugin.setUID(plugin.getName().replace(" ", "_")) # Ensure UID's unique while True: if plugin.getUID() in self.plugins.keys(): plugin.setUID(plugin.getUID()+"_"); else: break # Load settings if needed if x[1].lower() == "load": plugin.loadSettings(settingsReader) # Set load state plugin.setLoadState(x[1]) # Add to list self.plugins[plugin.getUID().strip()] = plugin print("[+] Loaded plugin %s"%x[0]) except Exception as e: print("[!] Failed to load module %s: "%x[0]) print("[!] -> %s"%e)
def loadPlugins(self): settingsReader = ConfigReader(conf.getPluginsettings()) if not os.path.exists(conf.getPluginLoadSettings()): print("[!] Could not find plugin loader file!") return # Read and parse plugin file data = open(conf.getPluginLoadSettings(), "r").read() data = [x.split() for x in data.splitlines() if not x.startswith("#")] for x in [x for x in data if len(x) == 2]: try: if x[1].lower() == "load" or x[1].lower() == "default": # Load plugins i = importlib.import_module(x[0].replace("/", ".")) plugin = getattr(i, x[0].split("/")[-1])() plugin.setUID(plugin.getName().replace(" ", "_")) # Ensure UID's unique while True: if plugin.getUID() in self.plugins.keys(): plugin.setUID(plugin.getUID()+"_"); else: break # Load settings if needed if x[1].lower() == "load": plugin.loadSettings(settingsReader) # Set load state plugin.setLoadState(x[1]) # Add to list self.plugins[plugin.getUID().strip()] = plugin print("[+] Loaded plugin %s"%x[0]) except Exception as e: print("[!] Failed to load module %s: "%x[0]) print("[!] -> %s"%e)