scripts/uninstall.py

branch
eric7
changeset 9361
718bc86e1c3f
parent 9328
49a0a9cb2505
child 9371
1da8bc75946f
child 9380
3d662dda80e8
diff -r 8b46571d9cc9 -r 718bc86e1c3f scripts/uninstall.py
--- a/scripts/uninstall.py	Tue Sep 27 14:58:59 2022 +0200
+++ b/scripts/uninstall.py	Tue Sep 27 14:59:32 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"
@@ -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