def reformat_user_data(data, rank=1): skill = Skill() data['skill_value'] = data.get('skill_value', 0) - data.get( 'decreased_skill_value', 0) data['skill_value'] = float("{:.2f}".format(data['skill_value'])) data['skill_color'] = skill.get_color_from_skill_title( data.get('skill_title', 'NA')) data['decreased_skill_value'] = float("{:.2f}".format( data.get('decreased_skill_value', 0))) data['total_score'] = float("{:.2f}".format(data.get('total_score', 0))) data['target_score'] = float("{:.2f}".format(data.get('target_score', 0))) data['next_week_target'] = float("{:.2f}".format(data['total_score'] + data['target_score'])) data['solve_count'] = data.get('solve_count', 0) data['contribution'] = data.get('contribution', 0) if 'last_synced_time' in data and data['last_synced_time'] != "NA": data['last_synced_time'] = time.strftime( '%Y-%m-%d %H:%M:%S', time.localtime(data['last_synced_time'])) if 'created_at' in data: data['created_at'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(data['created_at'])) if 'updated_at' in data: data['updated_at'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(data['updated_at'])) return data
def get_user_details(user_id): try: rs = requests.session() search_url = 'http://{}/{}/{}/{}'.format(app.config['ES_HOST'], _es_index_user, _es_type, user_id) response = rs.get(url=search_url, headers=_http_headers).json() print('response: ', response) if 'found' in response: if response['found']: data = response['_source'] skill = Skill() data['skill_color'] = skill.get_color_from_skill_title( data.get('skill_title', 'NA')) return data raise Exception('User not found') except Exception as e: raise e
def get_team_details(team_id): try: rs = requests.session() search_url = 'http://{}/{}/{}/{}'.format(app.config['ES_HOST'], _es_index_team, _es_type, team_id) response = rs.get(url=search_url, headers=_http_headers).json() if 'found' in response: if response['found']: data = response['_source'] skill = Skill() data['skill_color'] = skill.get_color_from_skill_title( data.get('skill_title')) return data raise Exception('Team not found') app.logger.error('Elasticsearch down, response: ' + str(response)) raise Exception('Internal server error') except Exception as e: raise e