Ejemplo n.º 1
0
def api_upload_proto(query_params=None):
    # Convert to byte files from base64
    response = request.get_json()

    proto_in_memory = io.BytesIO(
        zlib.decompress(base64.b64decode(response['proto'])))

    protobuf_game = ProtobufManager.read_proto_out_from_file(proto_in_memory)

    # Process
    try:
        parsed_replay_processing(protobuf_game, query_params=query_params)
    except Exception as e:
        log_error(e, logger=logger)

    return jsonify({'Success': True})
Ejemplo n.º 2
0
def api_upload_proto(session=None, query_params=None):
    # Convert to byte files from base64
    payload = request.get_json()

    proto_in_memory = io.BytesIO(zlib.decompress(base64.b64decode(payload['proto'])))

    protobuf_game = ProtobufManager.read_proto_out_from_file(proto_in_memory)

    # Process
    try:
        match_exists = parsed_replay_processing(protobuf_game, query_params=query_params)
        add_saved_replay(match_exists)
    except Exception as e:
        payload['stack'] = traceback.format_exc()
        payload['error_type'] = type(e).__name__
        ErrorLogger.log_replay_error(payload, query_params, proto_game=protobuf_game)
        ErrorLogger.log_error(e, logger=logger)
        return jsonify({'Success': False})
    ErrorLogger.log_replay(payload, query_params, proto_game=protobuf_game)
    return jsonify({'Success': True})