195 ): |
195 ): |
196 if os.path.exists(name): |
196 if os.path.exists(name): |
197 os.remove(name) |
197 os.remove(name) |
198 |
198 |
199 # Cleanup API files |
199 # Cleanup API files |
200 apidir = getConfig("apidir") |
200 with contextlib.suppress(AttributeError): |
201 if apidir: |
201 apidir = getConfig("apidir") |
202 for progLanguage in progLanguages: |
202 if apidir: |
203 for name in getConfig("apis"): |
203 for progLanguage in progLanguages: |
204 # step 1: programming language as given |
204 for name in getConfig("apis"): |
205 apiname = os.path.join(apidir, progLanguage, name) |
205 # step 1: programming language as given |
206 if os.path.exists(apiname): |
206 apiname = os.path.join(apidir, progLanguage, name) |
207 os.remove(apiname) |
207 if os.path.exists(apiname): |
208 # step 2: programming language as lowercase |
208 os.remove(apiname) |
209 apiname = os.path.join(apidir, progLanguage.lower(), name) |
209 # step 2: programming language as lowercase |
210 if os.path.exists(apiname): |
210 apiname = os.path.join(apidir, progLanguage.lower(), name) |
211 os.remove(apiname) |
211 if os.path.exists(apiname): |
212 for apiname in glob.glob( |
212 os.remove(apiname) |
213 os.path.join(apidir, progLanguage, "*.bas") |
213 for apiname in glob.glob( |
214 ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")): |
214 os.path.join(apidir, progLanguage, "*.bas") |
215 if os.path.exists(apiname): |
215 ) + glob.glob(os.path.join(apidir, progLanguage.lower(), "*.bas")): |
216 os.remove(apiname) |
216 if os.path.exists(apiname): |
217 |
217 os.remove(apiname) |
218 # remove empty directories |
218 |
219 with contextlib.suppress(FileNotFoundError, OSError): |
219 # remove empty directories |
220 os.rmdir(os.path.join(apidir, progLanguage)) |
220 with contextlib.suppress(FileNotFoundError, OSError): |
221 with contextlib.suppress(FileNotFoundError, OSError): |
221 os.rmdir(os.path.join(apidir, progLanguage)) |
222 os.rmdir(os.path.join(apidir, progLanguage.lower())) |
222 with contextlib.suppress(FileNotFoundError, OSError): |
|
223 os.rmdir(os.path.join(apidir, progLanguage.lower())) |
223 |
224 |
224 if sys.platform == "darwin": |
225 if sys.platform == "darwin": |
225 # delete the Mac app bundle |
226 # delete the Mac app bundle |
226 uninstallMacAppBundle() |
227 uninstallMacAppBundle() |
227 |
228 |