PluginManager/PluginInstallDialog.py

changeset 5234
dc9281cba492
parent 4631
5c1a96925da4
child 5389
9b1c800daff3
diff -r 1b31a9acc22d -r dc9281cba492 PluginManager/PluginInstallDialog.py
--- a/PluginManager/PluginInstallDialog.py	Sat Oct 15 14:17:42 2016 +0200
+++ b/PluginManager/PluginInstallDialog.py	Sat Oct 15 16:22:04 2016 +0200
@@ -393,8 +393,14 @@
             # try to unload a plugin with the same name
             self.__pluginManager.unloadPlugin(installedPluginName)
         
-        # uninstall existing plugin first to get clean conditions
-        self.__uninstallPackage(destination, pluginFileName, packageName)
+        # uninstall existing plug-in first to get clean conditions
+        if packageName != "None" and \
+            not os.path.exists(
+                os.path.join(destination, packageName, "__init__.py")):
+            # package directory contains just data, don't delete it
+            self.__uninstallPackage(destination, pluginFileName, "")
+        else:
+            self.__uninstallPackage(destination, pluginFileName, packageName)
         
         # clean sys.modules
         reload_ = self.__pluginManager.removePluginFromSysModules(

eric ide

mercurial