adds some logging
This commit is contained in:
@@ -7,12 +7,15 @@ from muzak.auth import get_user_from_token
|
|||||||
from channels.db import database_sync_to_async
|
from channels.db import database_sync_to_async
|
||||||
from playlist.models import Session, Track, Vote
|
from playlist.models import Session, Track, Vote
|
||||||
import random
|
import random
|
||||||
|
import logging
|
||||||
|
|
||||||
|
|
||||||
class SessionConsumer(WebsocketConsumer):
|
class SessionConsumer(WebsocketConsumer):
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.session_id = self.scope["url_route"]["kwargs"]["session_id"]
|
self.session_id = self.scope["url_route"]["kwargs"]["session_id"]
|
||||||
self.session_name = f"session_{self.session_id}"
|
self.session_name = f"session_{self.session_id}"
|
||||||
|
self.logger = logging.getLogger(self.session_name)
|
||||||
|
logging.basicConfig(filename=self.session_name+'.log', level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filemode='w')
|
||||||
|
|
||||||
async_to_sync(self.channel_layer.group_add)(
|
async_to_sync(self.channel_layer.group_add)(
|
||||||
self.session_name, self.channel_name
|
self.session_name, self.channel_name
|
||||||
@@ -28,17 +31,15 @@ class SessionConsumer(WebsocketConsumer):
|
|||||||
# Receive message from WebSocket
|
# Receive message from WebSocket
|
||||||
def receive(self, text_data):
|
def receive(self, text_data):
|
||||||
user = self.scope["user"] # Waarschijnlijk altijd AnonymousUser
|
user = self.scope["user"] # Waarschijnlijk altijd AnonymousUser
|
||||||
print(self.scope)
|
#self.logger.info(self.scope)
|
||||||
sessionId = self.scope["url_route"].get("kwargs", {}).get("session_id", None)
|
sessionId = self.scope["url_route"].get("kwargs", {}).get("session_id", None)
|
||||||
print()
|
|
||||||
|
|
||||||
text_data_json = json.loads(text_data)
|
text_data_json = json.loads(text_data)
|
||||||
|
|
||||||
# Niet lachen, middleware is moeilijk oké?
|
# Niet lachen, middleware is moeilijk oké?
|
||||||
token = text_data_json.get("token")
|
token = text_data_json.get("token")
|
||||||
if token:
|
if token:
|
||||||
user = get_user_from_token(token, log=True)
|
user = get_user_from_token(token, log=False)
|
||||||
print(user)
|
|
||||||
session = Session.objects.get(session_id=sessionId)
|
session = Session.objects.get(session_id=sessionId)
|
||||||
|
|
||||||
action = text_data_json.get("action", None)
|
action = text_data_json.get("action", None)
|
||||||
@@ -49,9 +50,9 @@ class SessionConsumer(WebsocketConsumer):
|
|||||||
self.session_name, {"type": "chat.message", "message": str(user) + ": " + message}
|
self.session_name, {"type": "chat.message", "message": str(user) + ": " + message}
|
||||||
)
|
)
|
||||||
if action == "login":
|
if action == "login":
|
||||||
print("LOGIN", str(user))
|
self.logger.info(f"Announced: {user}")
|
||||||
async_to_sync(self.channel_layer.group_send)(
|
async_to_sync(self.channel_layer.group_send)(
|
||||||
self.session_name, {"type": "announce", "user": str(user)}
|
self.session_name, {"type": "announce", "user": { "id": user.id, "username": user.username}}
|
||||||
)
|
)
|
||||||
if action == "vote":
|
if action == "vote":
|
||||||
points = text_data_json.get("points", None)
|
points = text_data_json.get("points", None)
|
||||||
@@ -59,10 +60,14 @@ class SessionConsumer(WebsocketConsumer):
|
|||||||
try:
|
try:
|
||||||
vote = Vote.objects.get(user=user, track=track, session=session)
|
vote = Vote.objects.get(user=user, track=track, session=session)
|
||||||
vote.points = points
|
vote.points = points
|
||||||
|
self.logger.info(f"Updated vote for {track} by {user} to {points} points")
|
||||||
vote.save()
|
vote.save()
|
||||||
except Vote.DoesNotExist:
|
except Vote.DoesNotExist:
|
||||||
vote = Vote.objects.create(user=user, track=track, points=points, session=session)
|
vote = Vote.objects.create(user=user, track=track, points=points, session=session)
|
||||||
|
self.logger.info(f"Created vote for {track} by {user} for {points} points")
|
||||||
vote.save()
|
vote.save()
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.error(f"Error voting on {track} by {user} for {points} points: {e}")
|
||||||
if action == "pause":
|
if action == "pause":
|
||||||
pass
|
pass
|
||||||
if action == "next":
|
if action == "next":
|
||||||
@@ -96,7 +101,7 @@ class SessionConsumer(WebsocketConsumer):
|
|||||||
def chat_message(self, event):
|
def chat_message(self, event):
|
||||||
message = event["message"]
|
message = event["message"]
|
||||||
|
|
||||||
print(self.scope["user"])
|
self.logger.info(self.scope["user"])
|
||||||
|
|
||||||
# Send message to WebSocket
|
# Send message to WebSocket
|
||||||
self.send(text_data=json.dumps({"message": message}))
|
self.send(text_data=json.dumps({"message": message}))
|
||||||
|
|||||||
Reference in New Issue
Block a user