@@ -63,13 +63,8 @@ async def check_sessions(requester, tracker):
6363 new_players = online_uuids - set (tracker .sessions )
6464 lost_players = set (tracker .sessions ) - online_uuids
6565
66- active_creations = []
67-
6866 for player in new_players :
6967 tracker .sessions [player ] = await Session .create (player )
70- active_creations .append (tracker .sessions [player ].active_obj )
71-
72- await Active .bulk_create (active_creations , ignore_conflicts = True )
7368
7469 # Get lost player data in batches of 100
7570 if not lost_players :
@@ -197,6 +192,9 @@ async def append_position(player: str, position: tuple, tracker):
197192async def get_positions (requester , tracker ):
198193 print ("Getting positions..." )
199194 online_data = await requester .map_request ()
195+ if not online_data :
196+ print ("Online data couldn't be fetched" )
197+ return
200198
201199 tasks = [append_position (format_uuid (player ["uuid" ]), (player ["x" ], player ["y" ], player ["z" ]), tracker ) for player in online_data ["players" ]]
202200
@@ -259,13 +257,8 @@ async def clean_dead_sessions(requester):
259257 if not online_players :
260258 print ("Online players couldn't be fetched" )
261259 return
262- deleted_sessions = 0
263- for active in await Active .all ():
264- if active .player not in {player ["uuid" ] for player in online_players ["players" ]}:
265- await active .delete ()
266- deleted_sessions += 1
267-
268- print (f"Removed { deleted_sessions } dead sessions" )
260+ await Active .filter (player__not_in = {player ["uuid" ] for player in online_players ["players" ]}).delete ()
261+ print (f"Removed dead sessions" )
269262
270263async def safe_rename (town_obj : Towns , new_name , requester ):
271264 print (f"Renaming { town_obj .name } to { new_name } " )
0 commit comments