From 198f816cdbc140dc9431c8aa4b3facb55bd150ee Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Wed, 3 Jul 2024 11:20:11 +0200 Subject: [PATCH] =?UTF-8?q?[godot]=C2=A0remove=20convert.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spine-godot/convert.py | 83 ------------------------------------------ 1 file changed, 83 deletions(-) delete mode 100755 spine-godot/convert.py diff --git a/spine-godot/convert.py b/spine-godot/convert.py deleted file mode 100755 index 38c56a506..000000000 --- a/spine-godot/convert.py +++ /dev/null @@ -1,83 +0,0 @@ -# -# Python script to convert a Godot project using Spine .json skeleton files to use the new -# extension .spine-json instead. -# -# Usage: python convert.py path/to/godot/project -# -# Note: ensure you have created a backup of your Godot project before running this script. -# -# The script will traverse all .json, .tscn, and .tres files in the directory recursively. -# -# For each .json file, it will rename the file to .spine-json and remove the .json.import file. -# Upon reloading the the project in Godot, the file will be re-imported and the a .spine-json.import -# file will be created in place of the .json.import file. -# -# For each .tscn or .tres file, it will replace the .json suffix in external resources of type -# SpineSkeletonFileResource with the new suffix .spine-json. -# -import sys -import os -import pathlib -import codecs - -def convert_json(filename): - file = codecs.open(filename, "r", "utf-8") - content = file.read() - file.close() - - if "skeleton" in content and "hash" in content and "spine" in content: - path = pathlib.Path(filename) - new_path = path.with_suffix('.spine-json') - print("Renaming " + str(path) + " to " + str(new_path)) - path.rename(new_path) - if os.path.exists(filename + ".import"): - print("Removing " + str(filename) + ".import") - os.remove(filename + ".import") - -def convert_tscn_or_tres(filename): - file = codecs.open(filename, "r", "utf-8") - content = file.read() - file.close() - - new_content = "" - is_converted = False - for line in content.splitlines(True): - if line.startswith("[ext_resource") and 'type="SpineSkeletonFileResource"' in line and '.json"' in line: - if not is_converted: - print("Converting TSCN file " + str(filename)) - is_converted = True - print("Replacing .json with .spine-json in \n" + line) - line = line.replace('.json"', '.spine-json"') - new_content += line - - file = codecs.open(filename, "w", "utf-8") - file.write(new_content) - file.close() - -def convert_tres(filename): - print("Converting TRES file " + str(filename)) - with open(filename) as file: - content = file.read() - -def convert(path): - for dirpath, dirs, files in os.walk(path): - for filename in files: - file = os.path.join(dirpath,filename) - if file.endswith(".json"): - convert_json(file) - elif file.endswith(".tscn") or file.endswith(".tres"): - convert_tscn_or_tres(file) - -if __name__ == "__main__": - if len(sys.argv) == 1: - print("Please provide the path to your Godot project, e.g. python convert.py path/to/my/project.") - sys.exit(-1) - path = os.path.abspath(sys.argv[1]) - if not os.path.exists(path): - print("Directory " + str(path) + " does not exist.") - sys.exit(-1) - if not os.path.isdir(path): - print(str(path) + " is not a directory.") - sys.exit(-1) - print("Converting " + str(path)) - convert(path) \ No newline at end of file