mirror of
https://github.com/zhaarey/AppleMusicDecrypt.git
synced 2025-10-23 15:11:06 +00:00
feat: support audio_info format
This commit is contained in:
12
src/utils.py
12
src/utils.py
@@ -146,6 +146,14 @@ def playlist_metadata_to_params(playlist: PlaylistInfo):
|
||||
"playlistCuratorName": playlist.data[0].attributes.curatorName}
|
||||
|
||||
|
||||
def get_audio_info_str(metadata, codec: str, config: Download):
|
||||
if all([bool(metadata.bit_depth), bool(metadata.sample_rate), bool(metadata.sample_rate_kHz)]):
|
||||
return config.audioInfoFormat.format(bit_depth=metadata.bit_depth, sample_rate=metadata.sample_rate,
|
||||
sample_rate_kHz=metadata.sample_rate_kHz, codec=codec)
|
||||
else:
|
||||
return ""
|
||||
|
||||
|
||||
def get_path_safe_dict(param: dict):
|
||||
new_param = deepcopy(param)
|
||||
for key, val in new_param.items():
|
||||
@@ -159,13 +167,13 @@ def get_song_name_and_dir_path(codec: str, config: Download, metadata, playlist:
|
||||
safe_meta = get_path_safe_dict(metadata.model_dump())
|
||||
safe_pl_meta = get_path_safe_dict(playlist_metadata_to_params(playlist))
|
||||
song_name = config.playlistSongNameFormat.format(codec=codec, playlistSongIndex=metadata.playlistIndex,
|
||||
**safe_meta)
|
||||
audio_info=get_audio_info_str(metadata, codec, config), **safe_meta)
|
||||
dir_path = Path(config.playlistDirPathFormat.format(codec=codec,
|
||||
**safe_meta,
|
||||
**safe_pl_meta))
|
||||
else:
|
||||
safe_meta = get_path_safe_dict(metadata.model_dump())
|
||||
song_name = config.songNameFormat.format(codec=codec, **safe_meta)
|
||||
song_name = config.songNameFormat.format(codec=codec, audio_info=get_audio_info_str(metadata, codec, config), **safe_meta)
|
||||
dir_path = Path(config.dirPathFormat.format(codec=codec, **safe_meta))
|
||||
if sys.platform == "win32":
|
||||
song_name = get_valid_filename(song_name)
|
||||
|
||||
Reference in New Issue
Block a user