def download_profile_stats(self, data=None): if not data: profile = load_profile() if 'kanoworld_id' in profile: user_id = profile['kanoworld_id'] else: return False, 'Profile not registered!' success, text, data = request_wrapper('get', '/users/' + user_id, headers=content_type_json, session=self.session) if not success: return False, text try: version_no = data['user']['avatar']['generator']['version'] save_profile_variable( 'version', version_no, skip_kdesk_refresh=True ) except Exception: pass updated_locally = False try: # Only update locally if version is 2. otherwise we will generate # a default if data['user']['avatar']['generator']['version'] == 2: gen = data['user']['avatar']['generator'] avatar_subcat, avatar_item = gen['character'] updated_locally = set_avatar( avatar_subcat, avatar_item, sync=False ) environment = gen['environment'][1] updated_locally |= set_environment(environment, sync=False) except Exception: pass # app states try: app_data = data['user']['profile']['stats'] except Exception: return False, "Data missing from payload!" for app, values in app_data.iteritems(): if not values or type(values) != dict or \ (len(values.keys()) == 1 and 'save_date' in values): continue if not is_private(app): save_app_state(app, values) if updated_locally: recreate_char(block=True) return True, None
def download_profile_stats(self, data=None): if not data: profile = load_profile() if 'kanoworld_id' in profile: user_id = profile['kanoworld_id'] else: return False, 'Profile not registered!' success, text, data = request_wrapper('get', '/users/' + user_id, headers=content_type_json, session=self.session) if not success: return False, text try: version_no = data['user']['avatar']['generator']['version'] save_profile_variable('version', version_no, skip_kdesk_refresh=True) except Exception: pass updated_locally = False try: # Only update locally if version is 2. otherwise we will generate # a default if data['user']['avatar']['generator']['version'] == 2: gen = data['user']['avatar']['generator'] avatar_subcat, avatar_item = gen['character'] updated_locally = set_avatar(avatar_subcat, avatar_item, sync=False) environment = gen['environment'][1] updated_locally |= set_environment(environment, sync=False) except Exception: pass # app states try: app_data = data['user']['profile']['stats'] except Exception: return False, "Data missing from payload!" for app, values in app_data.iteritems(): if not values or type(values) != dict or \ (len(values.keys()) == 1 and 'save_date' in values): continue if not is_private(app): save_app_state(app, values) if updated_locally: recreate_char(block=True) return True, None
def download_profile_stats(self, data=None): if not data: profile = load_profile() if "kanoworld_id" in profile: user_id = profile["kanoworld_id"] else: return False, "Profile not registered!" success, text, data = request_wrapper( "get", "/users/" + user_id, headers=content_type_json, session=self.session ) if not success: return False, text try: version_no = data["user"]["avatar"]["generator"]["version"] save_profile_variable("version", version_no) except Exception: pass updated_locally = False try: # Only update locally if version is 2. otherwise we will generate # a default if data["user"]["avatar"]["generator"]["version"] == 2: gen = data["user"]["avatar"]["generator"] avatar_subcat, avatar_item = gen["character"] updated_locally = set_avatar(avatar_subcat, avatar_item) environment = gen["environment"][1] updated_locally |= set_environment(environment) except Exception: pass # app states try: app_data = data["user"]["profile"]["stats"] except Exception: return False, "Data missing from payload!" for app, values in app_data.iteritems(): if not values or (len(values.keys()) == 1 and "save_date" in values): continue if not is_private(app): save_app_state(app, values) if updated_locally: recreate_char(block=True) return True, None
def download_private_data(self, data=None): if not data: success, text, data = request_wrapper("get", "/sync/data", headers=content_type_json, session=self.session) if not success: return False, text if "user_data" in data and "data" in data["user_data"]: app_data = data["user_data"]["data"] else: return False, "Data missing missing from payload!" for app, values in app_data.iteritems(): if is_private(app): save_app_state(app, values) return True, None
def download_private_data(self, data=None): if not data: success, text, data = request_wrapper('get', '/sync/data', headers=content_type_json, session=self.session) if not success: return False, text if 'user_data' in data and 'data' in data['user_data']: app_data = data['user_data']['data'] else: return False, 'Data missing missing from payload!' for app, values in app_data.iteritems(): if is_private(app): save_app_state(app, values) return True, None
def download_private_data(self, data=None): if not data: success, text, data = request_wrapper('get', '/sync/data', headers=content_type_json, session=self.session) if not success: return False, text if 'user_data' in data and 'data' in data['user_data']: app_data = data['user_data']['data'] else: return False, "Data missing missing from payload!" for app, values in app_data.iteritems(): if is_private(app): save_app_state(app, values) return True, None