scripts/clean.py (22 lines of code) (raw):
import glob
import os
import shutil
from typing import List
def remove_dir(directory_path: str):
if os.path.exists(directory_path):
shutil.rmtree(directory_path)
print("Removed: " + directory_path)
def remove_recursively(pattern: str, exclude_dirs: List[str] = []):
files = glob.glob(f"**/{pattern}", recursive=True)
def is_excluded(file: str) -> bool:
return any(dir in file for dir in exclude_dirs)
for file in files:
if not is_excluded(file):
remove_dir(file)
def main():
remove_dir(".nox")
remove_dir("dist")
remove_recursively("__pycache__", exclude_dirs=[".venv"])
remove_recursively(".pytest_cache", exclude_dirs=[".venv"])
if __name__ == "__main__":
main()