From 3687cf2655d546d3326abccce4ad0bce55e282a4 Mon Sep 17 00:00:00 2001 From: Bennett <2165217440@qq.com> Date: Sat, 10 May 2025 11:01:35 +0800 Subject: [PATCH] logger --- convert.py | 11 ++++++----- search.py | 51 ++++++++++++++++++++++++++++----------------------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/convert.py b/convert.py index bda7c54..01847d4 100644 --- a/convert.py +++ b/convert.py @@ -7,6 +7,7 @@ from ab2png import convert_ab_to_png from acb2mp3 import convert_awb_to_wav, convert_wav_to_mp3 from search import search_music_by_id from pv_decode import dat_to_mp4 +from loguru import logger # 假设你已实现以下函数 @@ -78,7 +79,7 @@ def convert_to_simai_folder(result,output_folder): level = num + 2 # 转换为 Simai 难度等级 convert_results[level] = ma2tosimai(path) except Exception as e: - print(f"处理 {filename} 时出错: {e}") + logger.error(f"处理 {filename} 时出错: {e}") convert_awb_to_wav(awb_file,f"work/{id}/temp.wav") convert_wav_to_mp3(f"work/{id}/temp.wav",f"work/{id}/track.mp3") @@ -107,9 +108,9 @@ def convert_to_simai_folder(result,output_folder): dst_file = os.path.join(target_folder, file_name) if os.path.exists(src_file): shutil.copy(src_file, dst_file) - print(f"文件 {file_name} 复制成功") + logger.info(f"文件 {file_name} 复制成功") else: - print(f"文件 {file_name} 不存在,跳过复制") + logger.warning(f"文件 {file_name} 不存在,跳过复制") if os.path.exists(source_folder): @@ -133,7 +134,7 @@ def convert_to_simai_folder(result,output_folder): if __name__ == "__main__": res = search_music_by_id(input("ID:")) - print(res) - print("Converting...") + logger.info(res) + logger.info("Converting...") convert_to_simai_folder(res,"result") diff --git a/search.py b/search.py index 381624e..e9788ce 100644 --- a/search.py +++ b/search.py @@ -1,4 +1,7 @@ import os + +from loguru import logger + from ReadOpt import parse_music_xml, level_name # 根目录 @@ -7,6 +10,8 @@ streaming_assets = "/Users/bennett/Downloads/SDEZ/Package/Sinmai_Data/StreamingA def search_music_by_id(search_id): for asset_dir in os.listdir(streaming_assets): root_dir = os.path.join(streaming_assets, asset_dir) + rd = os.path.join(streaming_assets, "A000") + music_dir = os.path.join(root_dir, "music") if not os.path.isdir(music_dir): continue @@ -19,68 +24,68 @@ def search_music_by_id(search_id): music_id, name, artist, notes = parse_music_xml(music_xml_path) if music_id == search_id: - print(f"\n【找到曲目:{name}】") - print(f" ID:{music_id}") - print(f" 艺术家:{artist}") - print(f" 所在分区:{asset_dir}") - print(" 谱面信息:") + logger.info(f"\n【找到曲目:{name}】") + logger.info(f" ID:{music_id}") + logger.info(f" 艺术家:{artist}") + logger.info(f" 所在分区:{asset_dir}") + logger.info(" 谱面信息:") for i, note in enumerate(notes): level_str = level_name[i] if i < len(level_name) else f"Diff{i}" - print(f" - {level_str}: 定数 {note['level']} / 显示 {note['levelshow']} / 谱师 {note['designer']}") + logger.info(f" - {level_str}: 定数 {note['level']} / 显示 {note['levelshow']} / 谱师 {note['designer']}") # ma2 文件 ma2_files = [f for f in os.listdir(sub_path) if f.endswith(".ma2")] ma2_paths = [os.path.join(sub_path, f) for f in ma2_files] ma2_paths.sort() if ma2_files: - print(" MA2 文件:") + logger.info(" MA2 文件:") for f in ma2_files: - print(f" - {os.path.join(sub_path, f)}") + logger.info(f" - {os.path.join(sub_path, f)}") else: - print(" MA2 文件:未找到") + logger.warning(" MA2 文件:未找到") # 曲绘(查 jacket 文件夹) - jacket_dir = os.path.join(root_dir, "AssetBundleImages", "jacket") + jacket_dir = os.path.join(rd, "AssetBundleImages", "jacket") jacket_ab = f"ui_jacket_00{int(music_id)-10000}.ab" alt_exts = [".png", ".jpg", ".jpeg"] alt_jacket = next((f for f in os.listdir(jacket_dir) if f.startswith(f"ui_jacket_{music_id}") and os.path.splitext(f)[1].lower() in alt_exts), None) - print(" 曲绘文件:") + logger.info(" 曲绘文件:") if os.path.exists(os.path.join(jacket_dir, jacket_ab)): - print(f" - {os.path.join(jacket_dir, jacket_ab)}") + logger.info(f" - {os.path.join(jacket_dir, jacket_ab)}") elif alt_jacket: - print(f" - {os.path.join(jacket_dir, alt_jacket)}") + logger.info(f" - {os.path.join(jacket_dir, alt_jacket)}") else: - print(" - 未找到") + logger.warning(" - 未找到") # 音频文件(SoundData) - sound_dir = os.path.join(root_dir, "SoundData") + sound_dir = os.path.join(rd, "SoundData") audio_prefix = f"music00{int(music_id)-10000}" audio_files = [f for f in os.listdir(sound_dir) if f.lower().startswith(audio_prefix)] - print(" 音频文件:") + logger.info(" 音频文件:") if audio_files: for f in audio_files: - print(f" - {os.path.join(sound_dir, f)}") + logger.info(f" - {os.path.join(sound_dir, f)}") else: - print(" - 未找到") + logger.warning(" - 未找到") audio_lists = [] for f in audio_files: audio_lists.append(os.path.join(sound_dir, f)) # 视频 dat 文件(MovieData) - movie_dir = os.path.join(root_dir, "MovieData") + movie_dir = os.path.join(rd, "MovieData") dat_name = f"00{int(music_id)-10000}.dat" dat_path = os.path.join(movie_dir, dat_name) - print(" 视频 DAT 文件:") - print(f" - {dat_path}" if os.path.exists(dat_path) else " - 未找到") + logger.info(" 视频 DAT 文件:") + logger.info(f" - {dat_path}" if os.path.exists(dat_path) else " - 未找到") return [[music_id, name, artist,notes],ma2_paths,os.path.join(jacket_dir, jacket_ab),audio_lists,dat_path] - print(f"\n未找到 ID 为 {search_id} 的曲目信息。") + logger.error(f"\n未找到 ID 为 {search_id} 的曲目信息。") return None @@ -89,7 +94,7 @@ def search_music_by_id(search_id): if __name__ == "__main__": target_id = input("请输入要搜索的曲目 ID:").strip() result = search_music_by_id(target_id) - print(result) + logger.info(result)