def load_state(): global state try: state = load_app_state(app_name) init_states = get_gamestate_variables(app_name) # loop through all states and initialise them with zero for s in init_states: if s not in state: state[s] = 0 except Exception: pass
def upload_private_data(self): data = dict() for app in get_app_list(): if is_private(app): data[app] = load_app_state(app) payload = dict() payload["data"] = data success, text, data = request_wrapper( "put", "/sync/data", data=json.dumps(payload), headers=content_type_json, session=self.session ) if not success: return False, text return self.download_private_data(data)
def upload_private_data(self): data = dict() for app in get_app_list(): if is_private(app): data[app] = load_app_state(app) payload = dict() payload['data'] = data success, text, data = request_wrapper('put', '/sync/data', data=json.dumps(payload), headers=content_type_json, session=self.session) if not success: return False, text return self.download_private_data(data)
def upload_profile_stats(self): profile = load_profile() data = dict() # xp data['xp'] = calculate_xp() # version try: data['version'] = profile['version'] except KeyError: logger.debug("Version field not in the data to be synced") # age try: data['birthdate'] = profile['birthdate'] except Exception: pass # gender try: gender = profile['gender'] if gender == "Boy": gender = 'm' elif gender == "Girl": gender = 'f' elif gender == "Wizard": gender = 'x' data['gender'] = gender except Exception: pass # avatar_generator data, files = self._prepare_avatar_gen(profile, data) # app states stats = dict() for app in get_app_list(): if not is_private(app): stats[app] = load_app_state(app) # append stats data['stats'] = stats # Uploading profile stats success, text, response_data = request_wrapper( 'put', '/users/profile', data=json.dumps(data), headers=content_type_json, session=self.session) if not success: logger.error("Uploading of the profile data failed") return False, text if files: # Uploading avatar assets success, text, response_data = request_wrapper( 'put', '/users/profile', session=self.session, files=files) # requests doesn't close the file objects after sending them, so # we need to tidy up self._tidy_up_avatar_files(files) if not success: logger.error("Uploading of the avatar assets failed") return False, text return self.download_profile_stats(response_data)