From ec570be17821b4390b6d211af4ce5cb6a2899bbd Mon Sep 17 00:00:00 2001 From: Hussein Farran Date: Mon, 27 Dec 2021 16:20:37 -0500 Subject: [PATCH] WebHost: Improve performance in player slot tracking during upload. --- WebHostLib/upload.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/WebHostLib/upload.py b/WebHostLib/upload.py index 47a52e6d..acf1c68f 100644 --- a/WebHostLib/upload.py +++ b/WebHostLib/upload.py @@ -68,10 +68,11 @@ def upload_zip_to_db(zfile: zipfile.ZipFile, owner=None, meta={"race": False}, s if multidata: decompressed_multidata = MultiServer.Context._decompress(multidata) - leftover_names = [(name, decompressed_multidata["names"][0].index(name) + 1) for name in - decompressed_multidata["names"][0] if name not in [slot.player_name for slot in slots]] + player_names = {slot.player_name for slot in slots} + leftover_names = [(name, index+1) for index, name in + enumerate([name for name in decompressed_multidata["names"][0]])] newslots = [(Slot(data=None, player_name=name, player_id=slot, game=decompressed_multidata["games"][slot])) - for name, slot in leftover_names] + for name, slot in leftover_names if name not in player_names] for slot in newslots: slots.add(slot)