without local llm
This commit is contained in:
@@ -6,12 +6,14 @@ class CAHClient:
|
||||
platform: str,
|
||||
csid: str,
|
||||
connected_at: int,
|
||||
players: list):
|
||||
players: list,
|
||||
games: list):
|
||||
self.resource: str = resource
|
||||
self.platform: str = platform
|
||||
self.csid: str = csid
|
||||
self.connected_at: int = connected_at
|
||||
self.players: list = players
|
||||
self.games: list = games
|
||||
|
||||
def __iter__(self):
|
||||
return [value for value in self.__dict__.values() if isinstance(value, int) or isinstance(value, float)].__iter__()
|
||||
|
@@ -18,6 +18,14 @@ class ConnectionManager:
|
||||
if connection.get('csid') == csid:
|
||||
return connection
|
||||
|
||||
def get_connection_by_resource_label(self, resource: str):
|
||||
for connection in self.active_connections:
|
||||
try:
|
||||
if connection.get('client').get('resource') == resource:
|
||||
return connection
|
||||
except:
|
||||
continue
|
||||
|
||||
async def send_client_and_game_lists(self, state, websocket: WebSocket):
|
||||
clients = []
|
||||
games = [game.__dict__ for game in state.games]
|
||||
@@ -85,6 +93,7 @@ class ConnectionManager:
|
||||
disconnected = self.get_connection_by_ws(websocket)
|
||||
disconnected_client = disconnected.get('client')
|
||||
disconnected_resource = disconnected_client.resource
|
||||
disconnected_games = [str(game.id) for game in disconnected_client.games]
|
||||
await self.broadcast({
|
||||
"event": "client_disconnected",
|
||||
"ts": int(time.time()),
|
||||
@@ -92,6 +101,7 @@ class ConnectionManager:
|
||||
"disconnected_resource": disconnected_resource,
|
||||
}
|
||||
})
|
||||
await state.remove_resource(disconnected_games, disconnected_resource)
|
||||
self.active_connections.pop(websocket)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user