scripts/uninstall.py

branch
eric7-maintenance
changeset 9371
1da8bc75946f
parent 9264
18a7312cfdb3
parent 9361
718bc86e1c3f
child 9442
906485dcd210
--- a/scripts/uninstall.py	Fri Sep 02 14:10:44 2022 +0200
+++ b/scripts/uninstall.py	Sat Oct 01 13:06:10 2022 +0200
@@ -21,7 +21,7 @@
 progName = None
 currDir = os.getcwd()
 pyModDir = None
-progLanguages = ["Python", "Ruby", "QSS"]
+progLanguages = ["MicroPython", "Python3", "QSS"]
 defaultMacAppBundleName = "eric7.app"
 defaultMacAppBundlePath = "/Applications"
 settingsNameOrganization = "Eric7"
@@ -43,7 +43,7 @@
         os.rename("eric7config.py.orig", "eric7config.py")
 
     if sys.platform.startswith(("win", "cygwin")):
-        with contextlib.suppress():
+        with contextlib.suppress(EOFError):
             input("Press enter to continue...")  # secok
 
     os.chdir(currDir)
@@ -197,14 +197,24 @@
         if apidir:
             for progLanguage in progLanguages:
                 for name in getConfig("apis"):
+                    # step 1: programming language as given
+                    apiname = os.path.join(apidir, progLanguage, name)
+                    if os.path.exists(apiname):
+                        os.remove(apiname)
+                    # step 2: programming language as lowercase
                     apiname = os.path.join(apidir, progLanguage.lower(), name)
                     if os.path.exists(apiname):
                         os.remove(apiname)
                 for apiname in glob.glob(
-                    os.path.join(apidir, progLanguage.lower(), "*.bas")
-                ):
-                    if os.path.basename(apiname) != "eric7.bas":
-                        os.remove(apiname)
+                    os.path.join(apidir, progLanguage, "*.bas")
+                ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")):
+                    os.remove(apiname)
+
+                # remove empty directories
+                with contextlib.suppress(FileNotFoundError, OSError):
+                    os.rmdir(os.path.join(apidir, progLanguage))
+                with contextlib.suppress(FileNotFoundError, OSError):
+                    os.rmdir(os.path.join(apidir, progLanguage.lower()))
 
         if sys.platform == "darwin":
             # delete the Mac app bundle

eric ide

mercurial