9 changed files with 1 additions and 51 deletions
@ -1,3 +0,0 @@ |
|||||||
from django.contrib import admin |
|
||||||
|
|
||||||
# Register your models here. |
|
||||||
@ -1,6 +0,0 @@ |
|||||||
from django.apps import AppConfig |
|
||||||
|
|
||||||
|
|
||||||
class WebsocketConfig(AppConfig): |
|
||||||
default_auto_field = 'django.db.models.BigAutoField' |
|
||||||
name = 'websocket' |
|
||||||
@ -1,25 +0,0 @@ |
|||||||
import json |
|
||||||
from channels.generic.websocket import AsyncWebsocketConsumer |
|
||||||
|
|
||||||
class ArriveeConsumer(AsyncWebsocketConsumer): |
|
||||||
async def connect(self): |
|
||||||
self.course_id = self.scope['url_route']['kwargs']['course_id'] |
|
||||||
self.group_name = f'course_{self.course_id}' |
|
||||||
await self.channel_layer.group_add( |
|
||||||
self.group_name, |
|
||||||
self.channel_name |
|
||||||
) |
|
||||||
await self.accept() |
|
||||||
|
|
||||||
async def disconnect(self, close_code): |
|
||||||
await self.channel_layer.group_discard( |
|
||||||
self.group_name, |
|
||||||
self.channel_name |
|
||||||
) |
|
||||||
|
|
||||||
async def receive(self, text_data): |
|
||||||
# Optionnel : traiter les messages entrants |
|
||||||
pass |
|
||||||
|
|
||||||
async def send_arrivee(self, event): |
|
||||||
await self.send(text_data=json.dumps(event['data'])) |
|
||||||
@ -1,3 +0,0 @@ |
|||||||
from django.db import models |
|
||||||
|
|
||||||
# Create your models here. |
|
||||||
@ -1,6 +0,0 @@ |
|||||||
from django.urls import re_path |
|
||||||
from . import consumers |
|
||||||
|
|
||||||
websocket_urlpatterns = [ |
|
||||||
re_path(r'ws/course/(?P<course_id>\d+)/$', consumers.ArriveeConsumer.as_asgi()), |
|
||||||
] |
|
||||||
@ -1,3 +0,0 @@ |
|||||||
from django.test import TestCase |
|
||||||
|
|
||||||
# Create your tests here. |
|
||||||
Loading…
Reference in new issue