Пример #1
0
def parse_log(fp, processor, date):
    parser = LogParser()
    parser._game_state_processor = processor
    parser._current_date = date
    parser.read(fp)

    return parser
Пример #2
0
def parse_upload_event(upload_event, meta):
    orig_match_start = dateutil_parse(meta["match_start"])
    match_start = get_valid_match_start(orig_match_start, upload_event.created)
    if match_start != orig_match_start:
        upload_event.tainted = True
        upload_event.save()

    log_bytes = upload_event.log_bytes()
    if not log_bytes:
        raise ValidationError("The uploaded log file is empty.")
    influx_metric("raw_power_log_upload_num_bytes", {"size": len(log_bytes)})
    powerlog = StringIO(log_bytes.decode("utf-8"))
    upload_event.file.close()

    parser = LogParser()
    parser._game_state_processor = "GameState"
    parser._current_date = match_start
    parser.read(powerlog)

    return parser
Пример #3
0
def parse_upload_event(upload_event, meta):
    orig_match_start = dateutil_parse(meta["match_start"])
    match_start = get_valid_match_start(orig_match_start, upload_event.created)
    if match_start != orig_match_start:
        upload_event.tainted = True
        upload_event.save()
        difference = (orig_match_start - match_start).seconds
        influx_metric("tainted_replay", {"count": 1, "difference": difference})

    log_bytes = upload_event.log_bytes()
    if not log_bytes:
        raise ValidationError("The uploaded log file is empty.")

    powerlog = StringIO(log_bytes.decode("utf-8"))
    upload_event.file.close()

    parser = LogParser()
    parser._game_state_processor = "GameState"
    parser._current_date = match_start
    parser.read(powerlog)

    return parser