--- a/scripts/uninstall.py Fri Aug 23 14:17:59 2024 +0200 +++ b/scripts/uninstall.py Fri Aug 23 17:23:34 2024 +0200 @@ -197,29 +197,30 @@ os.remove(name) # Cleanup API files - apidir = getConfig("apidir") - 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, "*.bas") - ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")): - if os.path.exists(apiname): - os.remove(apiname) + with contextlib.suppress(AttributeError): + apidir = getConfig("apidir") + 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, "*.bas") + ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")): + if os.path.exists(apiname): + 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())) + # 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