Sat, 23 Feb 2019 16:07:02 +0100
Development of pip interface finished.
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2014 - 2019 Detlev Offenbach <detlev@die-offenbachs.de> # """ Script for eric6 to clean up the source tree. """ from __future__ import unicode_literals, print_function import os import sys import fnmatch 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 (string) """ # 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(argv): """ The main function of the script. @param argv the list of command line arguments. """ print("Cleaning up source ...") sourceDir = os.path.dirname(__file__) or "." cleanupSource(sourceDir) if __name__ == "__main__": try: main(sys.argv) 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 = M801