From 0b4216c0b03b91ebcc5c865b150217049c4b3c3c Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Wed, 18 Dec 2024 21:15:15 +0300 Subject: [PATCH] Prep for dev release --- .vscode/launch.json | 7 ++++--- app/library/Download.py | 2 +- app/library/Emitter.py | 7 +++++-- app/library/M3u8.py | 3 ++- pyproject.toml | 2 ++ ui/stores/SocketStore.js | 6 +++--- 6 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 pyproject.toml diff --git a/.vscode/launch.json b/.vscode/launch.json index a75e74af..b043d06c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -19,7 +19,8 @@ "cwd": "${workspaceFolder}/ui", "env": { "NUXT_PUBLIC_WSS": ":8081/", - } + }, + "console": "internalConsole" }, { "name": "Python: main.py", @@ -34,8 +35,8 @@ "YTP_TEMP_PATH": "${workspaceFolder}/var/tmp", "YTP_URL_HOST": "http://localhost:8081", "YTP_LOG_LEVEL": "DEBUG", - "YTP_DEBUG": "true", - "YTP_YTDL_DEBUG": "true", + "YTP_DEBUG": "false", + "YTP_YTDL_DEBUG": "false", } }, { diff --git a/app/library/Download.py b/app/library/Download.py index 73034ee9..be54bb61 100644 --- a/app/library/Download.py +++ b/app/library/Download.py @@ -347,7 +347,7 @@ class Download: if self.info.status == 'error' and 'error' in status: self.info.error = status.get('error') asyncio.create_task( - self.emitter.error(dl=self.info, message=self.info.error), + self.emitter.error(message=self.info.error, data=self.info), name=f"emitter-e-{self.id}") if 'downloaded_bytes' in status: diff --git a/app/library/Emitter.py b/app/library/Emitter.py index f81a011b..8bc42d15 100644 --- a/app/library/Emitter.py +++ b/app/library/Emitter.py @@ -35,8 +35,11 @@ class Emitter: async def cleared(self, id: str, dl: dict = None, **kwargs): await self.emit('cleared', id, **kwargs) - async def error(self, dl: dict, message: str, **kwargs): - await self.emit('error', (dl, message), **kwargs) + async def error(self, message: str, data: dict = {}, **kwargs): + msg = {'status': 'error', 'message': message, 'data': {}} + if data: + msg.update({'data': data}) + await self.emit('error', msg, **kwargs) async def warning(self, message: str, **kwargs): await self.emit('error', message, **kwargs) diff --git a/app/library/M3u8.py b/app/library/M3u8.py index fcccbc77..180ea6df 100644 --- a/app/library/M3u8.py +++ b/app/library/M3u8.py @@ -4,9 +4,10 @@ from urllib.parse import quote from .Utils import calcDownloadPath from .ffprobe import FFProbe + class M3u8: ok_vcodecs: tuple = ('h264', 'x264', 'avc',) - ok_acodecs: tuple = ('aac', 'mp3',) + ok_acodecs: tuple = ('aac', 'm4a', 'mp3',) url: str = None duration: float = 6.000000 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..dbf4699b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,2 @@ +[tool.autopep8] +--max-line-length = 120 diff --git a/ui/stores/SocketStore.js b/ui/stores/SocketStore.js index 9c8945a5..3f286cb0 100644 --- a/ui/stores/SocketStore.js +++ b/ui/stores/SocketStore.js @@ -33,12 +33,12 @@ export const useSocketStore = defineStore('socket', () => { socket.value.on('added', stream => { const item = JSON.parse(stream); stateStore.add('queue', item._id, item); - toast.success(`Item queued successfully: ${ag(stateStore.get('queue', item._id, {}), 'title')}`); + toast.success(`Item queued: ${ag(stateStore.get('queue', item._id, {}), 'title')}`); }); socket.value.on('error', stream => { - const [item, error] = JSON.parse(stream); - toast.error(`${item?.id}: Error: ${error}`); + const json = JSON.parse(stream); + toast.error(`${json.data?.id ?? json?.status}: ${json?.message}`); }); socket.value.on('completed', stream => {