Example #1
0
def write_proto_pandas_to_file(filename):
    proto_manager = analyze_replay_file(filename)
    _, proto_name = tempfile.mkstemp(dir=get_test_folder())
    with open(proto_name, 'wb') as f:
        proto_manager.write_proto_out_to_file(f)
    _, pandas_name = tempfile.mkstemp(dir=get_test_folder())
    with open(pandas_name, 'wb') as f:
        proto_manager.write_pandas_out_to_file(f)
    return proto_name, pandas_name, proto_manager.protobuf_game
Example #2
0
def clear_dir():
    try:
        os.remove(get_test_folder())
    except:
        pass
    for root, dirs, files in os.walk(get_test_folder()):
        for file in files:
            try:
                os.remove(file)
            except:
                pass
Example #3
0
def parse_file(replay):
    replay_name = write_files_to_disk([replay])[0]
    replay = analyze_replay_file(
        os.path.join(get_test_folder(), replay_name),
        os.path.join(get_test_folder(), replay_name) + '.json')
    proto = replay.protobuf_game
    if proto.game_metadata.match_guid is not None and proto.game_metadata.match_guid != '':
        guid = proto.game_metadata.match_guid
    else:
        guid = proto.game_metadata.id
    return replay, proto, guid
Example #4
0
def write_files_to_disk(replays, temp_folder=None):
    if not os.path.exists(get_test_folder(temp_folder=temp_folder)):
        os.mkdir(get_test_folder(temp_folder=temp_folder))
    file_names = []
    for replay_url in replays:
        if 'http' not in replay_url:
            f = open(os.path.join(get_test_replay_folder(), replay_url),
                     mode='rb').read()
            file_names.append(replay_url)
            file_name = replay_url
        else:
            print('Testing:', replay_url)
            file_name = replay_url[replay_url.rfind('/') + 1:]
            file_names.append(file_name)
            f = download_replay_discord(replay_url)
        with open(
                os.path.join(get_test_folder(temp_folder=temp_folder),
                             file_name), 'wb') as real_file:
            real_file.write(f)
    return file_names
 def test_parse_replay(self, temp_folder):
     write_files_to_disk([get_complex_replay_list()[0]],
                         temp_folder=temp_folder)
     result = parse_replay_task.apply(throw=True,
                                      kwargs={
                                          'filename':
                                          get_test_file(
                                              '3_KICKOFFS_4_SHOTS.replay',
                                              temp_folder=temp_folder),
                                          'custom_file_location':
                                          get_test_folder(temp_folder),
                                          'force_reparse':
                                          True
                                      }).get()
     assert (result == '70DDECEA4653AC55EA77DBA0DB497995')
Example #6
0
def get_test_file(file_name, temp_folder=None, is_replay=False):
    if is_replay:
        folder = get_test_replay_folder()
    else:
        folder = get_test_folder(temp_folder=temp_folder)
    return os.path.join(folder, file_name)