mirror of
https://github.com/cainan-c/TaikoPythonTools.git
synced 2024-11-24 07:00:14 +01:00
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import json
|
|
import shutil
|
|
import os
|
|
import toml
|
|
import logging
|
|
|
|
# Configure logging
|
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def copy_sound_file(song_id, source_folder, output_folder):
|
|
# Source path for song_[id].nus3bank
|
|
source_sound_file = os.path.join(source_folder, "sound", f"song_{song_id}.nus3bank")
|
|
|
|
# Destination path in output_folder/sound
|
|
destination_sound_file = os.path.join(output_folder, "sound", f"song_{song_id}.nus3bank")
|
|
|
|
# Copy sound/song_[id].nus3bank to output_folder/sound/song_[id].nus3bank
|
|
if os.path.exists(source_sound_file):
|
|
os.makedirs(os.path.join(output_folder, "sound"), exist_ok=True)
|
|
shutil.copy2(source_sound_file, destination_sound_file)
|
|
|
|
# Log message based on game origin
|
|
game_origin = os.path.basename(os.path.normpath(source_folder))
|
|
if game_origin in ["JPN00", "JPN08"]:
|
|
logger.info(f"Copied song_{song_id}.nus3bank from '{game_origin}'.")
|
|
|
|
def process_added_songs(json_file, config_file):
|
|
with open(json_file, 'r') as f:
|
|
added_songs = json.load(f)
|
|
|
|
config = toml.load(config_file)
|
|
output_folder = config['output']['folder']
|
|
|
|
for song in added_songs:
|
|
song_id = song.get('id')
|
|
game_origin = song.get('gameOrigin')
|
|
|
|
if game_origin in config['game_origin_mapping']:
|
|
source_folder = config['game_origin_mapping'][game_origin]
|
|
copy_sound_file(song_id, source_folder, output_folder)
|
|
|
|
# Specify the paths to your JSON and TOML files
|
|
json_file_path = 'added_songs.json'
|
|
config_file_path = 'config.toml'
|
|
|
|
# Call the function to process the added songs using the specified configuration
|
|
process_added_songs(json_file_path, config_file_path)
|