PluginManager/PluginUninstallDialog.py

branch
Py2 comp.
changeset 2911
ce77f0b1ee67
parent 2847
1843ef6e2656
parent 2854
2de1955c6391
child 3056
9986ec0e559a
diff -r 1843ef6e2656 -r ce77f0b1ee67 PluginManager/PluginUninstallDialog.py
--- a/PluginManager/PluginUninstallDialog.py	Mon Aug 12 22:21:53 2013 +0200
+++ b/PluginManager/PluginUninstallDialog.py	Sun Sep 08 19:04:07 2013 +0200
@@ -13,6 +13,7 @@
 import os
 import imp
 import shutil
+import glob
 
 from PyQt4.QtCore import pyqtSlot, pyqtSignal
 from PyQt4.QtGui import QWidget, QDialog, QDialogButtonBox, QVBoxLayout
@@ -145,6 +146,16 @@
             if os.path.exists(fnamec):
                 os.remove(fnamec)
             
+            pluginDirCache = os.path.join(os.path.dirname(pluginFile), "__pycache__")
+            if os.path.exists(pluginDirCache):
+                pluginFileName = os.path.splitext(os.path.basename(pluginFile))[0]
+                for fnameo in glob.glob(
+                    os.path.join(pluginDirCache, "{0}*.pyo".format(pluginFileName))):
+                    os.remove(fnameo)
+                for fnamec in glob.glob(
+                    os.path.join(pluginDirCache, "{0}*.pyc".format(pluginFileName))):
+                    os.remove(fnamec)
+            
             os.remove(pluginFile)
         except OSError as err:
             E5MessageBox.critical(self,

eric ide

mercurial