From a52d32b006c5ab8fc0d9f2f28f080504df96e500 Mon Sep 17 00:00:00 2001 From: WorldObservationLog Date: Wed, 22 May 2024 00:04:53 +0800 Subject: [PATCH] fix: make functions of mp4.py and save.py asynchronous --- src/rip.py | 12 ++++++------ src/save.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/rip.py b/src/rip.py index f461ae0..ccd474b 100644 --- a/src/rip.py +++ b/src/rip.py @@ -79,15 +79,15 @@ async def rip_song(song: Song, auth_params: GlobalAuthParams, codec: str, config logger.info(f"Downloading song: {song_metadata.artist} - {song_metadata.title}") codec = get_codec_from_codec_id(codec_id) raw_song = await download_song(song_uri) - song_info = extract_song(raw_song, codec) + song_info = await extract_song(raw_song, codec) decrypted_song = await decrypt(song_info, keys, song_data, device) - song = encapsulate(song_info, decrypted_song, config.download.atmosConventToM4a) + song = await encapsulate(song_info, decrypted_song, config.download.atmosConventToM4a) if not if_raw_atmos(codec, config.download.atmosConventToM4a): - metadata_song = write_metadata(song, song_metadata, config.metadata.embedMetadata, config.download.coverFormat) - song = fix_encapsulate(metadata_song) + metadata_song = await write_metadata(song, song_metadata, config.metadata.embedMetadata, config.download.coverFormat) + song = await fix_encapsulate(metadata_song) if codec == Codec.AAC or codec == Codec.AAC_DOWNMIX or codec == Codec.AAC_BINAURAL: - song = fix_esds_box(song_info.raw, song) - filename = save(song, codec, song_metadata, config.download, playlist) + song = await fix_esds_box(song_info.raw, song) + filename = await save(song, codec, song_metadata, config.download, playlist) logger.info(f"Song {song_metadata.artist} - {song_metadata.title} saved!") if config.download.afterDownloaded: command = config.download.afterDownloaded.format(filename=filename) diff --git a/src/save.py b/src/save.py index df63483..ecc0570 100644 --- a/src/save.py +++ b/src/save.py @@ -7,7 +7,7 @@ from src.models import PlaylistInfo from src.utils import ttml_convent_to_lrc, get_song_name_and_dir_path, get_suffix -def save(song: bytes, codec: str, metadata: SongMetadata, config: Download, playlist: PlaylistInfo = None): +async def save(song: bytes, codec: str, metadata: SongMetadata, config: Download, playlist: PlaylistInfo = None): song_name, dir_path = get_song_name_and_dir_path(codec, config, metadata, playlist) if not dir_path.exists() or not dir_path.is_dir(): os.makedirs(dir_path.absolute())