rename the project

This commit is contained in:
starnakin 2023-12-23 18:11:30 +01:00
parent f9bf3a566e
commit 4e21347199
9 changed files with 92 additions and 5 deletions

View File

@ -6,7 +6,7 @@ import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'trancendence.settings')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'transcendence.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:

View File

@ -0,0 +1,53 @@
from .AbstractRoomMember import AbstractRoomMember
class AbstractRoom:
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 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 append(self, member: AbstractRoomMember):
tmp: AbstractRoomMember = self.get_member_by_user_id(member.user_id)
if (tmp is not None):
tmp.send("Connection close: Another connection open with the same user id.")
self.remove(tmp)
member.accept()
self._member_list.append(waiter)
def remove(self, member: AbstractRoomMember):
self._member_list.remove(member)
waiter.disconnect()
def empty(self):
for _ in self._waiter_list:
return False
return True
def get_users_id(self):
return [waiter.user_id for waiter in self._waiter_list]
def __len__(self):
return len(self._waiter_list)

View File

@ -0,0 +1,18 @@
from .AbstractRoom import AbstractRoom
class AbstractRoomManager:
def __init__(self):
self._room_list: [AbstractRoom] = []
def get(self, mode: int):
for room in self._room_list:
room: A
if (waiting_room._mode == mode):
return waiting_room
tmp: WaitingRoom = WaitingRoom(self, mode)
self._waiting_rooms.append(tmp)
return tmp
def remove(self, waiting_room: WaitingRoom):
self._waiting_rooms.remove(waiting_room)

View File

@ -0,0 +1,16 @@
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 accept(self):
self.socket.accept()
def disconnect(self):
self.socket.disconnect(200)

View File

@ -1,5 +1,5 @@
"""
Django settings for trancendence project.
Django settings for transcendence project.
Generated by 'django-admin startproject' using Django 4.2.6.
@ -61,7 +61,7 @@ INSTALLED_APPS = [
'django.contrib.staticfiles',
]
ASGI_APPLICATION = 'trancendence.asgi.application'
ASGI_APPLICATION = 'transcendence.asgi.application'
CHANNEL_LAYERS = {
'default' :{
@ -81,7 +81,7 @@ MIDDLEWARE = [
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'trancendence.urls'
ROOT_URLCONF = 'transcendence.urls'
TEMPLATES = [
{
@ -99,7 +99,7 @@ TEMPLATES = [
},
]
WSGI_APPLICATION = 'trancendence.wsgi.application'
WSGI_APPLICATION = 'transcendence.wsgi.application'
# Database