コード例 #1
0
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)
コード例 #2
0
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()
コード例 #3
0
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()
コード例 #4
0
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}')
コード例 #5
0
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')