from ..decorators import kfet_is_team from ..utils import DjangoJsonWebsocketConsumer, PermConsumerMixin from .open import kfet_open class OpenKfetConsumer(PermConsumerMixin, DjangoJsonWebsocketConsumer): """Consumer for K-FĂȘt Open. WS groups: kfet.open.base: Only carries the values visible for all users. kfet.open.team: Carries all values (raw status...). """ async def open_status(self, event): await self.send_json(event) async def connect(self): """Send current status on connect.""" await super().connect() group = "team" if kfet_is_team(self.user) else "base" await self.channel_layer.group_add(f"kfet.open.{group}", self.channel_name) await self.send_json(kfet_open.export(self.user))