def update_competitor_performance_from_table(competitor: Competitor, row=None): try: if row is None: data = UsersSheet.get_all_users() for row_number, row_data in enumerate(data, 2): if row_data[0] == competitor.legacy_number and row_data[1] == competitor.name: row = row_number competitor.performance = to_int(row_data[7]) competitor.save() break if row is None: logger.error(f'Cannot get new performance for competitor: {competitor} - cannot found record in gsheet') return cfg = get_config() new_perf = retrieve_data( cfg.spreadsheet_id, f'{cfg.spreadsheet_users_sheet}!H{row}' ) new_perf = to_int(new_perf, None) if new_perf is None: logger.error(f'Cannot get new performance for competitor: {competitor}') return competitor.performance = new_perf competitor.save() except: logger.exception(f'Error occurred while updating performance for competitor: {competitor}')
def update_competitor_db_record(table_row, competitor: Competitor): competitor.level = to_int(table_row[3], None) competitor.matches = to_int(table_row[4]) competitor.wins = to_int(table_row[5]) competitor.losses = to_int(table_row[6]) competitor.performance = to_int(table_row[7]) competitor.save()