ytptube/app/Notifier.py
2023-12-31 18:34:50 +03:00

26 lines
695 B
Python

from socketio import AsyncServer
from Utils import ObjectSerializer
class Notifier:
def __init__(self, sio: AsyncServer, serializer: ObjectSerializer):
self.sio = sio
self.serializer = serializer
async def added(self, dl):
await self.emit('added', dl)
async def updated(self, dl):
await self.emit('updated', dl)
async def completed(self, dl):
await self.emit('completed', dl)
async def canceled(self, id):
await self.emit('canceled', id)
async def cleared(self, id):
await self.emit('cleared', id)
async def emit(self, event: str, data):
await self.sio.emit(event, self.serializer.encode(data))