37 lines
1.7 KiB
Python
37 lines
1.7 KiB
Python
import json
|
|
import csv
|
|
from island.matches import Matches
|
|
|
|
user_data = {} # user_id => {m => match_count, s => total_score, d => {match_id => score}}
|
|
|
|
ms = Matches('wos-data-2022-12-16')
|
|
for m in ms.data:
|
|
game_end_at = int(m.query('game', 'created').first()['info']['game_end_at'])
|
|
for r in m.query('user', 'fitness').raw_data:
|
|
if r['user'] not in user_data:
|
|
user_data[r['user']] = dict(m=0, s=0, d={})
|
|
user_data[r['user']]['m'] += 1
|
|
user_data[r['user']]['s'] += float(r['fitness']) / game_end_at
|
|
|
|
match_bonus = {'炎儒': {'vote': 24, 'bonus': '106.67'}, 'linhaha': {'vote': 15, 'bonus': '66.67'}, '樊欣': {'vote': 10, 'bonus': '44.44'}, 'z': {'vote': 9, 'bonus': '40.00'}, '乖乖': {'vote': 36, 'bonus': '160.00'}, 'CHYK': {'vote': 27, 'bonus': '120.00'}, '赵子截江夺阿斗': {'vote': 24, 'bonus': '106.67'}, '海丽可可': {'vote': 12, 'bonus': '53.33'}, 'gwb': {'vote': 28, 'bonus': '124.44'}, 'Lee.h': {'vote': 13, 'bonus': '57.78'}, 'Yao': {'vote': 12, 'bonus': '53.33'}, 'zmw': {'vote': 15, 'bonus': '66.67'}}
|
|
|
|
print('username\tvote\tbonus')
|
|
for k, v in match_bonus.items():
|
|
print(f"{k}\t{v['vote']}\t{v['bonus']}")
|
|
|
|
total = 0
|
|
print('\t'.join(('UID', 'Bonus', 'username', 'email')))
|
|
with open('username.csv', 'r', encoding='utf-8') as f:
|
|
for line in f:
|
|
parts = line.strip().split(',')
|
|
uid = int(parts[0])
|
|
if uid in user_data:
|
|
bonus = user_data[uid]['s']
|
|
if parts[1] in match_bonus:
|
|
bonus += float(match_bonus[parts[1]]['bonus'])
|
|
parts.insert(1, '%.2f' % bonus)
|
|
total += bonus
|
|
print('\t'.join(parts))
|
|
|
|
print(f'total={total:.2f}')
|