From 339fddb844a04c3864c612211aa351533f4b15cd Mon Sep 17 00:00:00 2001 From: AGulev Date: Tue, 10 Dec 2024 13:33:25 +0100 Subject: [PATCH] add cleanup options --- spine_tester/README.md | 6 ++++++ spine_tester/create_tester.py | 29 ++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/spine_tester/README.md b/spine_tester/README.md index 7dfad99..555df3c 100644 --- a/spine_tester/README.md +++ b/spine_tester/README.md @@ -8,6 +8,12 @@ >python ./spine_tester/create_tester.py +It's also possible to remove all the `*.go`, `*.gui`, `*.collection` and `hooks.editor_script` files if it runs with `cleanup` argument: + +>python ./spine_tester/create_tester.py cleanup + +It maybe useful in cases you want to run the editor faster on a big project. + 3. If project is already opened click: `Project`->`Fetch Libraries` or open project 4. Run the project and use the interface to play any animations you want, or all of them one by one. diff --git a/spine_tester/create_tester.py b/spine_tester/create_tester.py index bd8fe6c..8a392b5 100644 --- a/spine_tester/create_tester.py +++ b/spine_tester/create_tester.py @@ -1,6 +1,6 @@ import os import json - +import glob import os import subprocess import sys @@ -176,8 +176,35 @@ def modify_game_project(file_path): with open(file_path, "w") as configfile: config.write(configfile, space_around_delimiters=False) +def delete_project_files(parent_folder): + if not os.path.isdir(parent_folder): + print(f"Error: The folder '{parent_folder}' does not exist.") + return + + # Define file patterns to delete and track deleted file counts + file_patterns = ["*.collection", "*.go", "*.gui", "hooks.editor_script"] + deleted_counts = {pattern: 0 for pattern in file_patterns} + + # Loop through patterns and delete matching files + for pattern in file_patterns: + for file_path in glob.glob(os.path.join(parent_folder, "**", pattern), recursive=True): + try: + os.remove(file_path) + deleted_counts[pattern] += 1 + except Exception as e: + print(f"Error deleting {file_path}: {e}") + + # Log the counts of deleted files + for pattern, count in deleted_counts.items(): + print(f"{pattern}: {count} files deleted") + # Run the function if __name__ == "__main__": + # Check if the first argument is "cleanup" + if len(sys.argv) > 1 and sys.argv[1].lower() == "cleanup": + # Determine parent folder where game.project resides + parent_folder = os.path.abspath(os.path.join("..")) + delete_project_files(parent_folder) # Path to the game.project file in the parent folder game_project_path = os.path.join("..", "game.project") modify_game_project(game_project_path)