repos
/ timestrap-django master

timestrap-django

mirror archived upstream

Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.

djangodockerhandcodedpythonself-hostedtime-trackingtimetracker

742 B · 24 lines · Python Raw History
 1import json
 2
 3from channels.generic.websocket import AsyncWebsocketConsumer
 4
 5
 6class UpdateConsumer(AsyncWebsocketConsumer):
 7    """
 8    Goes with our core signal that, on model update, sends a message to all
 9    channels in the group to sync the UI.
10    """
11
12    async def connect(self):
13        await self.accept()
14        await self.channel_layer.group_add("sync_clients", self.channel_name)
15
16    async def disconnect(self, close_code):
17        await self.channel_layer.group_discard("sync_clients", self.channel_name)
18
19    async def sync_clients_save(self, event):
20        await self.send(json.dumps({"model": event["model"]}))
21
22    async def sync_clients_delete(self, event):
23        await self.send(json.dumps({"model": event["model"]}))