initial commit
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
import logging
|
||||
|
||||
from nicegui import background_tasks
|
||||
|
||||
from rooms.room import Room
|
||||
from rooms.utils import generate_uid
|
||||
|
||||
|
||||
class RoomsDB:
|
||||
def __init__(self):
|
||||
self.rooms = []
|
||||
self.by_uid: dict[str, Room] = {}
|
||||
|
||||
async def create_room(self, tmdb_id: int) -> Room:
|
||||
logging.info("Creating new room")
|
||||
|
||||
uid = generate_uid()
|
||||
while uid in self.by_uid.keys():
|
||||
uid = generate_uid()
|
||||
|
||||
room = Room(uid=uid, tmdb_id=tmdb_id)
|
||||
self.rooms.append(room)
|
||||
self.by_uid[uid] = room
|
||||
|
||||
background_tasks.create_lazy(room.update(), name=f"room_update_{uid}")
|
||||
|
||||
logging.info(f"Created new room {room.uid}")
|
||||
|
||||
return room
|
||||
|
||||
async def delete_room(self, uid: str):
|
||||
logging.info(f"Deleting room {uid}")
|
||||
|
||||
background_tasks.lazy_tasks_running.get(f"room_update_{uid}").cancel()
|
||||
room = self.by_uid[uid]
|
||||
del self.by_uid[uid]
|
||||
self.rooms.remove(room)
|
||||
|
||||
logging.info(f"Deleted room {uid}")
|
||||
Reference in New Issue
Block a user