PluginManager/PluginManager.py

branch
Py2 comp.
changeset 3056
9986ec0e559a
parent 2525
8b507a9a2d40
parent 2889
3737e9f17f44
child 3057
10516539f238
equal deleted inserted replaced
2911:ce77f0b1ee67 3056:9986ec0e559a
333 self.trUtf8("Module failed to load. Error: {0}").format(str(err)) 333 self.trUtf8("Module failed to load. Error: {0}").format(str(err))
334 self.__failedModules[name] = module 334 self.__failedModules[name] = module
335 print("Error loading plugin module:", name) 335 print("Error loading plugin module:", name)
336 print(str(err)) 336 print(str(err))
337 337
338 def unloadPlugin(self, name, directory): 338 def unloadPlugin(self, name):
339 """ 339 """
340 Public method to unload a plugin module. 340 Public method to unload a plugin module.
341 341
342 @param name name of the module to be unloaded (string) 342 @param name name of the module to be unloaded (string)
343 @param directory name of the plugin directory (string)
344 @return flag indicating success (boolean) 343 @return flag indicating success (boolean)
345 """ 344 """
346 fname = "{0}.py".format(os.path.join(directory, name)) 345 if name in self.__onDemandActiveModules:
347 if name in self.__onDemandActiveModules and \
348 self.__onDemandActiveModules[name].eric5PluginModuleFilename == fname:
349 # cannot unload an ondemand plugin, that is in use 346 # cannot unload an ondemand plugin, that is in use
350 return False 347 return False
351 348
352 if name in self.__activeModules and \ 349 if name in self.__activeModules:
353 self.__activeModules[name].eric5PluginModuleFilename == fname:
354 self.deactivatePlugin(name) 350 self.deactivatePlugin(name)
355 351
356 if name in self.__inactiveModules and \ 352 if name in self.__inactiveModules:
357 self.__inactiveModules[name].eric5PluginModuleFilename == fname:
358 try: 353 try:
359 del self.__inactivePlugins[name] 354 del self.__inactivePlugins[name]
360 except KeyError: 355 except KeyError:
361 pass 356 pass
362 del self.__inactiveModules[name] 357 del self.__inactiveModules[name]
363 elif name in self.__onDemandInactiveModules and \ 358 elif name in self.__onDemandInactiveModules:
364 self.__onDemandInactiveModules[name].eric5PluginModuleFilename == fname:
365 try: 359 try:
366 del self.__onDemandInactivePlugins[name] 360 del self.__onDemandInactivePlugins[name]
367 except KeyError: 361 except KeyError:
368 pass 362 pass
369 del self.__onDemandInactiveModules[name] 363 del self.__onDemandInactiveModules[name]

eric ide

mercurial