Skip to content

Commit 4ad62fa

Browse files
committed
Fix exiting players issue
1 parent 929f16a commit 4ad62fa

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

watcher/jobs/check_sessions.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ async def setup_lost_sessions(lost_results, unfetched_list):
114114
data_map = {player["uuid"]: player for player in lost_results}
115115

116116
async with in_transaction():
117-
await Players.bulk_create([Players(uuid=uuid) for uuid in data_map.keys()], ignore_conflicts=True)
117+
existing_uuids = await Players.filter(uuid__in=data_map.keys()).values_list("uuid", flat=True)
118+
await Players.bulk_create([Players(uuid=uuid) for uuid in data_map.keys() if uuid not in existing_uuids], ignore_conflicts=True)
118119
player_db_rows = await Players.filter(uuid__in=data_map.keys()).all()
119120

120121
rows_map = {player.uuid: player for player in player_db_rows}
@@ -212,7 +213,7 @@ async def safe_username(player_obj : Players, requester):
212213
print(f"Renaming {player_obj.username}")
213214
try:
214215
player_obj.username = f"tmp_{uuid.uuid4().hex}"
215-
player_data = await get_valid_data(requester, "players", [player_obj.uuid])
216+
player_data = await requester.post_request("players", player_obj.uuid)
216217

217218
if player_data and player_data[0]["uuid"] == player_obj.uuid:
218219
async with in_transaction():
@@ -232,9 +233,9 @@ async def update_mayor(town_obj: Towns, rows_map, requester):
232233
async with in_transaction():
233234
await town_obj.save(update_fields=["mayor", "previous_mayors"])
234235

235-
async def update_player_town(player_obj: Players, requester):
236+
async def update_player_town(player_obj: Players, data_map, requester):
236237
try:
237-
player_data = await get_valid_data(requester, "players", [player_obj.uuid])
238+
player_data = await requester.post_request("players", player_obj.uuid)
238239
if player_data and player_data[0]["town"]["uuid"] != player_obj.town:
239240
async with in_transaction():
240241
town_obj = await Towns.get(uuid=player_data[0]["town"]["uuid"])

0 commit comments

Comments
 (0)