Add more events

This commit is contained in:
arabcoders 2025-04-21 18:21:29 +03:00
parent 5172742e96
commit 9ba7b34803
4 changed files with 33 additions and 0 deletions

View file

@ -19,6 +19,7 @@ from .config import Config
from .DataStore import DataStore from .DataStore import DataStore
from .Download import Download from .Download import Download
from .Events import EventBus, Events from .Events import EventBus, Events
from .Events import warning as event_warning
from .ItemDTO import Item, ItemDTO from .ItemDTO import Item, ItemDTO
from .Presets import Presets from .Presets import Presets
from .Scheduler import Scheduler from .Scheduler import Scheduler
@ -327,6 +328,7 @@ class DownloadQueue(metaclass=Singleton):
dlInfo.info.error = msg dlInfo.info.error = msg
itemDownload = self.done.put(dlInfo) itemDownload = self.done.put(dlInfo)
NotifyEvent = Events.COMPLETED NotifyEvent = Events.COMPLETED
await self._notify.emit(Events.LOG_WARNING, data=event_warning(msg))
elif self.config.allow_manifestless is False and is_manifestless is True: elif self.config.allow_manifestless is False and is_manifestless is True:
dlInfo.info.status = "error" dlInfo.info.status = "error"
dlInfo.info.error = "Video is in post-live manifestless mode." dlInfo.info.error = "Video is in post-live manifestless mode."

View file

@ -25,6 +25,21 @@ def error(msg: str, data: dict | None = None) -> dict:
return message("error", msg, data) return message("error", msg, data)
def warning(msg: str, data: dict | None = None) -> dict:
"""
Create an error message.
Args:
msg (str): The message.
data (dict|None): The data to include in the message.
Returns:
dict : The message wrapped in a dictionary.
"""
return message("warning", msg, data)
def info(msg: str, data: dict | None = None) -> dict: def info(msg: str, data: dict | None = None) -> dict:
""" """
Create an info message. Create an info message.
@ -87,6 +102,8 @@ class Events:
CLEARED = "cleared" CLEARED = "cleared"
ERROR = "error" ERROR = "error"
LOG_INFO = "log_info" LOG_INFO = "log_info"
LOG_WARNING = "log_warning"
LOG_ERROR = "log_error"
LOG_SUCCESS = "log_success" LOG_SUCCESS = "log_success"
INITIAL_DATA = "initial_data" INITIAL_DATA = "initial_data"
@ -139,6 +156,8 @@ class Events:
Events.ADDED, Events.ADDED,
Events.ERROR, Events.ERROR,
Events.LOG_INFO, Events.LOG_INFO,
Events.LOG_WARNING,
Events.LOG_ERROR,
Events.LOG_SUCCESS, Events.LOG_SUCCESS,
Events.COMPLETED, Events.COMPLETED,
Events.CANCELLED, Events.CANCELLED,

View file

@ -96,6 +96,8 @@ class NotificationEvents:
CLEARED = Events.CLEARED CLEARED = Events.CLEARED
LOG_INFO = Events.LOG_INFO LOG_INFO = Events.LOG_INFO
LOG_SUCCESS = Events.LOG_SUCCESS LOG_SUCCESS = Events.LOG_SUCCESS
LOG_WARNING = Events.LOG_WARNING
LOG_ERROR = Events.LOG_ERROR
TEST = Events.TEST TEST = Events.TEST
@staticmethod @staticmethod

View file

@ -52,6 +52,16 @@ export const useSocketStore = defineStore('socket', () => {
toast.success(json?.message); toast.success(json?.message);
}); });
socket.value.on('log_warning', stream => {
const json = JSON.parse(stream);
toast.warning(json?.message);
});
socket.value.on('log_error', stream => {
const json = JSON.parse(stream);
toast.error(json?.message);
});
socket.value.on('completed', stream => { socket.value.on('completed', stream => {
const item = JSON.parse(stream); const item = JSON.parse(stream);