30 lines
887 B
Python
30 lines
887 B
Python
import subprocess # do stuff at the shell level
|
|
import os
|
|
|
|
def git_clean(clean_ignored=True, clean_user=False):
|
|
excludes = [
|
|
".vscode", # vscode IDE files
|
|
".idea", # idea IDE files
|
|
"*.json", # keep JSON files for that one time I just nuked all that I was working on, oops
|
|
"*app*version.*", # keep appversion files
|
|
"EnemizerCLI" # keep EnemizerCLI files
|
|
]
|
|
|
|
if not clean_user:
|
|
excludes.append(os.path.join("resources","user*")) # keep user resources
|
|
|
|
excludes = ['--exclude={0}'.format(exclude) for exclude in excludes]
|
|
|
|
# d: directories, f: files, x: ignored files
|
|
switches = "df" + ("x" if clean_ignored else "")
|
|
|
|
# clean the git slate
|
|
subprocess.check_call([
|
|
"git", # run a git command
|
|
"clean", # clean command
|
|
"-" + switches,
|
|
*excludes])
|
|
|
|
if __name__ == "__main__":
|
|
git_clean()
|