import os from typing import List from app.services.folder_service import FolderService from app.utils import windows_sort_unicode class MusicService: def __init__(self): self.paths: List[str] = ["C:\\Users\\Localhost\\Desktop\\Music"] self.result_list: List[str] = [] def perform_rename(self, entry: os.DirEntry[str]): name, ext = os.path.splitext(entry.name) music_artist, music_name = name.split(" - ") music_artist_list = music_artist.split("、") sorted_music_artist_list = windows_sort_unicode(music_artist_list) new_music_artist = "、".join(sorted_music_artist_list) if music_artist != new_music_artist: self.result_list.insert(0, f"{new_music_artist} - {music_name}") def rename(self): FolderService(paths=self.paths, ignore_dirs={"old", "专辑"}, file_callback=self.perform_rename).process_folder() return self.result_list