small racing game im working on
Diffstat (limited to 'init_classes.py')
| -rw-r--r-- | init_classes.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/init_classes.py b/init_classes.py new file mode 100644 index 0000000..29d1487 --- /dev/null +++ b/init_classes.py @@ -0,0 +1,33 @@ +import re +from glob import glob + +find_class = re.compile("class_name\s+(.+)") +find_base = re.compile("extends\s+(.+)") +classes = [] # { file, class name, base class name } + +for file in glob("**/*.gd", recursive=True): + with open(file, "r") as f: + text = f"{f.readline()}\n{f.readline()}\n{f.readline()}" # 3 lines: extend, class, tool + m = find_class.search(text) + if not m: + continue + class_name = m.groups()[0] + m = find_base.search(text) + base = m.groups()[0] + classes.append( + {"class_name": class_name, "base_class_name": base, "file": file} + ) + +first = True +print("list=[", end="") +for c in classes: + if not first: + print(", ", end="") + first = False + print("{") + print(f'"base": "{c["base_class_name"]}",') + print(f'"class": &"{c["class_name"]}",') + print('"language": &"GDScript",') + print(f'"path": "res://{c["file"]}"') + print("}", end="") +print("]") |