mirror of
https://github.com/zhaarey/AppleMusicDecrypt.git
synced 2025-10-23 15:11:06 +00:00
fix: shell execute problem on Linux and macOS when calling mp4box
This commit is contained in:
13
src/mp4.py
13
src/mp4.py
@@ -194,10 +194,15 @@ async def write_metadata(song: bytes, metadata: SongMetadata, embed_metadata: li
|
|||||||
time = datetime.strptime(metadata.created, "%Y-%m-%d").strftime("%d/%m/%Y")
|
time = datetime.strptime(metadata.created, "%Y-%m-%d").strftime("%d/%m/%Y")
|
||||||
else:
|
else:
|
||||||
time = ""
|
time = ""
|
||||||
subprocess.run(["mp4box", "-time", time, "-mtime", time, "-name", f"1={metadata.title}", "-itags",
|
if if_shell():
|
||||||
":".join(["tool=", f"cover={absolute_cover_path}",
|
subprocess.run(
|
||||||
metadata.to_itags_params(embed_metadata)]),
|
f"mp4box -time {time} -mtime {time} -name 1={metadata.title} -itags tool=:cover={absolute_cover_path}:{metadata.to_itags_params(embed_metadata)} {song_name.absolute()}",
|
||||||
song_name.absolute()], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=if_shell())
|
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=if_shell())
|
||||||
|
else:
|
||||||
|
subprocess.run(["mp4box", "-time", time, "-mtime", time, "-name", f"1={metadata.title}", "-itags",
|
||||||
|
":".join(["tool=", f"cover={absolute_cover_path}",
|
||||||
|
metadata.to_itags_params(embed_metadata)]),
|
||||||
|
song_name.absolute()], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=if_shell())
|
||||||
with open(song_name.absolute(), "rb") as f:
|
with open(song_name.absolute(), "rb") as f:
|
||||||
embed_song = f.read()
|
embed_song = f.read()
|
||||||
tmp_dir.cleanup()
|
tmp_dir.cleanup()
|
||||||
|
|||||||
Reference in New Issue
Block a user