--- 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