From e5e70db380c0143c448ee36b87e2a87c2ec678f2 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Thu, 25 Feb 2021 04:14:46 +0100 Subject: [PATCH] improve set_getters a bit --- MultiClient.py | 12 +++++++++--- worlds/__init__.py | 2 -- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/MultiClient.py b/MultiClient.py index 8f4c6b49..1c973518 100644 --- a/MultiClient.py +++ b/MultiClient.py @@ -105,12 +105,18 @@ class Context(): self.set_getters(network_data_package) def set_getters(self, data_package: dict, network=False): - if not network: + if not network: # local data; check if newer data was already downloaded local_package = Utils.persistent_load().get("datapackage", {}).get("latest", {}) if local_package and local_package["version"] > network_data_package["version"]: data_package: dict = local_package - elif network and data_package["version"] > network_data_package["version"]: - Utils.persistent_store("datapackage", "latest", network_data_package) + elif network: # check if data from server is newer + for key, value in data_package.items(): + if type(value) == dict: # convert to int keys + data_package[key] = \ + {int(subkey) if subkey.isdigit() else subkey: subvalue for subkey, subvalue in value.items()} + + if data_package["version"] > network_data_package["version"]: + Utils.persistent_store("datapackage", "latest", network_data_package) item_lookup: dict = data_package["lookup_any_item_id_to_name"] locations_lookup: dict = data_package["lookup_any_location_id_to_name"] diff --git a/worlds/__init__.py b/worlds/__init__.py index 41df342b..3d06205a 100644 --- a/worlds/__init__.py +++ b/worlds/__init__.py @@ -13,5 +13,3 @@ lookup_any_location_id_to_name = {**Regions.lookup_id_to_name, **Locations.looku network_data_package = {"lookup_any_location_id_to_name": lookup_any_location_id_to_name, "lookup_any_item_id_to_name": lookup_any_item_id_to_name, "version": 1} - -print(network_data_package) \ No newline at end of file