391 (self.__pluginManager.isPluginLoaded(installedPluginName) and |
391 (self.__pluginManager.isPluginLoaded(installedPluginName) and |
392 self.__pluginManager.isPluginActive(installedPluginName)) |
392 self.__pluginManager.isPluginActive(installedPluginName)) |
393 # try to unload a plugin with the same name |
393 # try to unload a plugin with the same name |
394 self.__pluginManager.unloadPlugin(installedPluginName) |
394 self.__pluginManager.unloadPlugin(installedPluginName) |
395 |
395 |
396 # uninstall existing plugin first to get clean conditions |
396 # uninstall existing plug-in first to get clean conditions |
397 self.__uninstallPackage(destination, pluginFileName, packageName) |
397 if packageName != "None" and \ |
|
398 not os.path.exists( |
|
399 os.path.join(destination, packageName, "__init__.py")): |
|
400 # package directory contains just data, don't delete it |
|
401 self.__uninstallPackage(destination, pluginFileName, "") |
|
402 else: |
|
403 self.__uninstallPackage(destination, pluginFileName, packageName) |
398 |
404 |
399 # clean sys.modules |
405 # clean sys.modules |
400 reload_ = self.__pluginManager.removePluginFromSysModules( |
406 reload_ = self.__pluginManager.removePluginFromSysModules( |
401 installedPluginName, packageName, internalPackages) |
407 installedPluginName, packageName, internalPackages) |
402 |
408 |