mirror of
https://github.com/WorldObservationLog/AppleMusicDecrypt.git
synced 2026-01-15 14:22:54 -03:00
Merge pull request #46 from itouakirai/v2
Some checks failed
/ Build Windows (push) Has been cancelled
Some checks failed
/ Build Windows (push) Has been cancelled
fix and feat
This commit is contained in:
@@ -32,6 +32,7 @@ class InteractiveShell:
|
||||
loop.run_until_complete(run_sync(it(WebAPI).init))
|
||||
loop.run_until_complete(it(WrapperManager).init(it(Config).instance.url, it(Config).instance.secure))
|
||||
safely_create_task(it(WrapperManager).decrypt_init(on_success=on_decrypt_success, on_failure=on_decrypt_failed))
|
||||
loop.run_until_complete(self.show_status())
|
||||
|
||||
self.parser = argparse.ArgumentParser(exit_on_error=False)
|
||||
subparser = self.parser.add_subparsers()
|
||||
@@ -43,8 +44,13 @@ class InteractiveShell:
|
||||
download_parser.add_argument("-f", "--force", default=False, action="store_true")
|
||||
download_parser.add_argument("--include-participate-songs", default=False, dest="include", action="store_true")
|
||||
|
||||
subparser.add_parser("status")
|
||||
subparser.add_parser("exit")
|
||||
|
||||
async def show_status(self):
|
||||
st_resp = await it(WrapperManager).status()
|
||||
print(f"Regions available on wm instace: {st_resp.regions}")
|
||||
|
||||
async def command_parser(self, cmd: str):
|
||||
if not cmd.strip():
|
||||
return
|
||||
@@ -57,6 +63,8 @@ class InteractiveShell:
|
||||
match cmds[0]:
|
||||
case "download" | "dl":
|
||||
await self.do_download(args.url, args.codec, args.force, args.include)
|
||||
case "status":
|
||||
await self.show_status()
|
||||
case "exit":
|
||||
self.loop.stop()
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import asyncio
|
||||
import concurrent.futures
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
from asyncio import AbstractEventLoop
|
||||
from copy import deepcopy
|
||||
@@ -194,9 +193,9 @@ def get_song_name_and_dir_path(codec: str, metadata, playlist: PlaylistInfo = No
|
||||
audio_info=get_audio_info_str(metadata, codec),
|
||||
**safe_meta)
|
||||
dir_path = Path(it(Config).download.dirPathFormat.format(codec=codec, **safe_meta))
|
||||
if sys.platform == "win32":
|
||||
song_name = get_valid_filename(song_name)
|
||||
dir_path = Path(*[get_valid_dir_name(part) if ":\\" not in part else part for part in dir_path.parts])
|
||||
|
||||
song_name = get_valid_filename(song_name)
|
||||
dir_path = Path(*[get_valid_dir_name(part) if ":\\" not in part else part for part in dir_path.parts])
|
||||
return song_name, dir_path
|
||||
|
||||
|
||||
@@ -278,4 +277,4 @@ def count_total_track_and_disc(tracks: Tracks):
|
||||
|
||||
|
||||
def get_tasks_num():
|
||||
return len(background_tasks)
|
||||
return len(background_tasks)
|
||||
|
||||
Reference in New Issue
Block a user