Thu, 17 Apr 2025 11:49:45 +0200
Extended a device comment in the MicroPython devices list.
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2014 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> # """ Script for eric to clean up the source tree. """ import fnmatch import os import shutil def cleanupSource(dirName): """ Cleanup the sources directory to get rid of leftover files and directories. @param dirName name of the directory to prune @type str """ # step 1: delete all Ui_*.py files without a corresponding # *.ui file dirListing = os.listdir(dirName) for formName, sourceName in [ (f.replace("Ui_", "").replace(".py", ".ui"), f) for f in dirListing if fnmatch.fnmatch(f, "Ui_*.py") ]: if not os.path.exists(os.path.join(dirName, formName)): os.remove(os.path.join(dirName, sourceName)) if os.path.exists(os.path.join(dirName, sourceName + "c")): os.remove(os.path.join(dirName, sourceName + "c")) # step 2: delete the __pycache__ directory and all remaining *.pyc files if os.path.exists(os.path.join(dirName, "__pycache__")): shutil.rmtree(os.path.join(dirName, "__pycache__")) for name in [f for f in os.listdir(dirName) if fnmatch.fnmatch(f, "*.pyc")]: os.remove(os.path.join(dirName, name)) # step 3: descent into subdirectories and delete them if empty for name in os.listdir(dirName): name = os.path.join(dirName, name) if os.path.isdir(name): cleanupSource(name) if len(os.listdir(name)) == 0: os.rmdir(name) def main(): """ The main function of the script. """ print("Cleaning up source ...") sourceDir = os.path.dirname(os.path.dirname(__file__)) or "." cleanupSource(sourceDir) if __name__ == "__main__": try: main() except SystemExit: raise except Exception: print( "\nAn internal error occured. Please report all the output of the" " program, \nincluding the following traceback, to" " eric-bugs@eric-ide.python-projects.org.\n" ) raise # # eflag: noqa = M-801