From baa6f1989000cc022532103a3673a4cafe66dd98 Mon Sep 17 00:00:00 2001 From: beerpsi Date: Mon, 10 Mar 2025 18:31:17 +0000 Subject: [PATCH] Add chuni/make_omnimix.py --- chuni/make_omnimix.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 chuni/make_omnimix.py diff --git a/chuni/make_omnimix.py b/chuni/make_omnimix.py new file mode 100644 index 0000000..c2086e8 --- /dev/null +++ b/chuni/make_omnimix.py @@ -0,0 +1,39 @@ +import shutil +from pathlib import Path + + +def walk_data_files(root: Path): + files = [] + file_map = {} + + for dirpath, _, filenames in (root / "App" / "data" / "A000").walk(): + for filename in filenames: + relative = (dirpath / filename).relative_to(root / "App" / "data" / "A000") + file_map[relative] = dirpath / filename + files.append(relative) + + for option in (root / "Option").iterdir(): + if option.name == "AOMN": + continue + + for dirpath, _, filenames in option.walk(): + for filename in filenames: + relative = (dirpath / filename).relative_to(option) + file_map[relative] = dirpath / filename + files.append(relative) + + return files, file_map + +old_data = Path("CHUNITHM LUMINOUS PLUS (SDHD 2.26.00)") +new_data = Path("Chunithm Verse") + +old_files, old_file_map = walk_data_files(old_data) +new_files, _ = walk_data_files(new_data) + +removed_files = list(set(old_files).difference(set(new_files))) + +(new_data / "Option" / "AOMN").mkdir(exist_ok=True) + +for file in removed_files: + (new_data / "Option" / "AOMN" / file).parent.mkdir(exist_ok=True, parents=True) + shutil.copy2(old_file_map[file], new_data / "Option" / "AOMN" / file)