the tabulations must die
This commit is contained in:
@ -3,49 +3,49 @@ from channels.generic.websocket import WebsocketConsumer
|
||||
from .AbstractRoomMember import AbstractRoomMember
|
||||
|
||||
class AbstractRoom:
|
||||
|
||||
def __init__(self, room_manager):
|
||||
self._member_list: [AbstractRoomMember] = []
|
||||
self.room_manager = room_manager
|
||||
|
||||
def __init__(self, room_manager):
|
||||
self._member_list: [AbstractRoomMember] = []
|
||||
self.room_manager = room_manager
|
||||
|
||||
def broadcast(self, detail: str, data: dict = {}):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
member.send(detail, data)
|
||||
|
||||
def clear(self):
|
||||
self._member_list.clear()
|
||||
def broadcast(self, detail: str, data: dict = {}):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
member.send(detail, data)
|
||||
|
||||
def clear(self):
|
||||
self._member_list.clear()
|
||||
|
||||
def get_member_by_socket(self, socket: WebsocketConsumer):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
if (member.socket is socket):
|
||||
return member
|
||||
return None
|
||||
def get_member_by_socket(self, socket: WebsocketConsumer):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
if (member.socket is socket):
|
||||
return member
|
||||
return None
|
||||
|
||||
def get_member_by_user_id(self, user_id: int):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
if (member.user_id == user_id):
|
||||
return member
|
||||
return None
|
||||
def get_member_by_user_id(self, user_id: int):
|
||||
for member in self._member_list:
|
||||
member: AbstractRoomMember
|
||||
if (member.user_id == user_id):
|
||||
return member
|
||||
return None
|
||||
|
||||
|
||||
def append(self, member: AbstractRoomMember):
|
||||
self._member_list.append(member)
|
||||
member.accept()
|
||||
def append(self, member: AbstractRoomMember):
|
||||
self._member_list.append(member)
|
||||
member.accept()
|
||||
|
||||
def remove(self, member: AbstractRoomMember, code: int = 1000):
|
||||
self._member_list.remove(member)
|
||||
member.disconnect(code)
|
||||
def remove(self, member: AbstractRoomMember, code: int = 1000):
|
||||
self._member_list.remove(member)
|
||||
member.disconnect(code)
|
||||
|
||||
def empty(self):
|
||||
for _ in self._member_list:
|
||||
return False
|
||||
return True
|
||||
def empty(self):
|
||||
for _ in self._member_list:
|
||||
return False
|
||||
return True
|
||||
|
||||
def get_users_id(self):
|
||||
return [member.user_id for member in self._member_list]
|
||||
def get_users_id(self):
|
||||
return [member.user_id for member in self._member_list]
|
||||
|
||||
def __len__(self):
|
||||
return len(self._member_list)
|
||||
def __len__(self):
|
||||
return len(self._member_list)
|
||||
|
@ -2,11 +2,11 @@ from .AbstractRoom import AbstractRoom
|
||||
|
||||
class AbstractRoomManager:
|
||||
|
||||
def __init__(self):
|
||||
self._room_list: [AbstractRoom] = []
|
||||
def __init__(self):
|
||||
self._room_list: [AbstractRoom] = []
|
||||
|
||||
def remove(self, room: AbstractRoom):
|
||||
self._room_list.remove(room)
|
||||
def remove(self, room: AbstractRoom):
|
||||
self._room_list.remove(room)
|
||||
|
||||
def append(self, room: AbstractRoom):
|
||||
self._room_list.append(room)
|
||||
def append(self, room: AbstractRoom):
|
||||
self._room_list.append(room)
|
||||
|
@ -4,17 +4,17 @@ import json
|
||||
|
||||
class AbstractRoomMember:
|
||||
|
||||
def __init__(self, user_id: int, socket: WebsocketConsumer):
|
||||
self.user_id: int = user_id
|
||||
self.socket: WebsocketConsumer = socket
|
||||
|
||||
def send(self, detail: str, data: dict = {}):
|
||||
raw_data: dict = {"detail": detail}
|
||||
raw_data.update(data)
|
||||
self.socket.send(text_data=json.dumps(raw_data))
|
||||
def __init__(self, user_id: int, socket: WebsocketConsumer):
|
||||
self.user_id: int = user_id
|
||||
self.socket: WebsocketConsumer = socket
|
||||
|
||||
def send(self, detail: str, data: dict = {}):
|
||||
raw_data: dict = {"detail": detail}
|
||||
raw_data.update(data)
|
||||
self.socket.send(text_data=json.dumps(raw_data))
|
||||
|
||||
def accept(self):
|
||||
self.socket.accept()
|
||||
def accept(self):
|
||||
self.socket.accept()
|
||||
|
||||
def disconnect(self, code: int = 1000):
|
||||
self.socket.disconnect(code)
|
||||
def disconnect(self, code: int = 1000):
|
||||
self.socket.disconnect(code)
|
@ -22,13 +22,13 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trancendence.settings')
|
||||
|
||||
application = ProtocolTypeRouter({
|
||||
'http':get_asgi_application(),
|
||||
'websocket':AuthMiddlewareStack(
|
||||
URLRouter(
|
||||
chat.routing.websocket_urlpatterns +
|
||||
matchmaking.routing.websocket_urlpatterns +
|
||||
tournament.routing.websocket_urlpatterns +
|
||||
games.routing.websocket_urlpatterns
|
||||
)
|
||||
)
|
||||
'websocket':AuthMiddlewareStack(
|
||||
URLRouter(
|
||||
chat.routing.websocket_urlpatterns +
|
||||
matchmaking.routing.websocket_urlpatterns +
|
||||
tournament.routing.websocket_urlpatterns +
|
||||
games.routing.websocket_urlpatterns
|
||||
)
|
||||
)
|
||||
})
|
||||
|
||||
|
@ -41,8 +41,8 @@ CORS_ORIGIN_WHITELIST = (
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'channels',
|
||||
'daphne',
|
||||
'channels',
|
||||
'daphne',
|
||||
|
||||
'tournament.apps.TournamentConfig',
|
||||
'matchmaking.apps.MatchmakingConfig',
|
||||
@ -65,9 +65,9 @@ INSTALLED_APPS = [
|
||||
ASGI_APPLICATION = 'transcendence.asgi.application'
|
||||
|
||||
CHANNEL_LAYERS = {
|
||||
'default' :{
|
||||
'BACKEND':'channels.layers.InMemoryChannelLayer'
|
||||
}
|
||||
'default' :{
|
||||
'BACKEND':'channels.layers.InMemoryChannelLayer'
|
||||
}
|
||||
}
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
Reference in New Issue
Block a user