def main(): global args parse_input_args() with Ow(sys.stderr) as ow, Pc( 'cache.csv', ['nickname', 'id', 'global_rating']) as cache: rp = Rp(args.dirs, ow) a = API(args.key, ow) replays = rp.read_replays() cache_players(replays, cache, a) tank_info = a.tank_tiers() if args.weighted else None team_ratings = team_average_ratings(replays, cache, tank_info) outputs(replays, team_ratings, cache)
def main(): global args, logfile parse_input_args() if args.save_img: logfile = open(f'{args.output_name}.log', 'w', encoding='utf8') with Ow(sys.stderr) as ow, Pc( 'cache.csv', ['nickname', 'id', 'global_rating']) as cache: rp = Rp(args.dirs, ow) a = API(args.key, ow, args.region) replays = rp.read_replays(args.filter_platoons) cache_players(replays, cache, a) team_ratings = team_average_ratings(replays, cache) outputs(replays, team_ratings, cache) if logfile: logfile.close()
def main(): global args, logfile parse_input_args() if args.save_img: logfile = open(f'{args.save_img}.log', 'w', encoding='utf8') with Ow(sys.stderr) as ow, Pc( 'cache.csv', ['nickname', 'id', 'global_rating']) as cache: rp = Rp(args.dirs, ow) a = API(args.key, ow) replays = rp.read_replays() cache_players(replays, cache, a) tank_info = None # = a.tank_tiers() if args.weighted else None team_ratings = team_average_ratings(replays, cache, tank_info) outputs(replays, team_ratings, cache) if logfile: logfile.close()
def main(): if not len(sys.argv) > 1: print('need a dir name') exit() with Ow(sys.stderr) as ow: rp = Rp(sys.argv[1:], ow) lengths = [] replays = rp.read_replays() for replay in replays: length = replay.get('ext', [{}])[0].get('common', {}).get('duration') if length: lengths.append(length) average_length = mean(lengths) minutes = int(average_length / 60) seconds = str(int(average_length % 60)).rjust(2, '0') print(f'\n{len(lengths)} replays:') print(f'average duration: {minutes}:{seconds}')
def main(): global args, logfile parse_input_args() with Ow(sys.stderr) as ow: rp = Rp(args.dirs, ow) replays = rp.read_replays() p = {'ally': {}, 'enemy': {}} print('sorting players') for battle in replays: replay_team = None teams = [[], []] std = battle.get('std') for player in std.get('vehicles').values(): name = player.get('name') team_num = player.get('team') - 1 # 1-indexed -> 0-indexed if name == std.get('playerName'): # note player's team and don't store them replay_team = team_num else: teams[team_num].append(name) if replay_team: #friendly team for name in teams[replay_team]: allies = p.get('ally') allies[name] = allies.get(name, 0) + 1 #enemy team for name in teams[1 - replay_team]: enemies = p.get('enemy') enemies[name] = enemies.get(name, 0) + 1 with open(args.output_name, 'w') as outfile: outfile.write(',Name,count\n') outfile.write('Ally') for player, count in p.get('ally').items(): outfile.write(f',{player},{count}\n') outfile.write('Enemy') for player, count in p.get('enemy').items(): outfile.write(f',{player},{count}\n')