mirror of
https://github.com/zhaarey/AppleMusicDecrypt.git
synced 2025-10-23 15:11:06 +00:00
fix: make functions of mp4.py and save.py asynchronous
This commit is contained in:
12
src/rip.py
12
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)
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user