Пример #1
0
def spec_parse_cost(value):
    spec.validate_must_be_list(value)
    if len(value) != 3:  # pragma: no cover
        raise ValueError(
            "Cost must have exactly 3 values (CPU, money, time), got %d items (value: %s)"
            % (len(value), repr(value)))
    return [int(x) for x in value]
Пример #2
0
def parse_detect_chance(parsed_value):
    validate_must_be_list(parsed_value)
    chance_dict = {}

    for chance_str in parsed_value:
        key, value = chance_str.split(":")
        chance_dict[key] = int(value)

    return chance_dict
Пример #3
0
def convert_item_qualities(raw_value):
    validate_must_be_list(raw_value)
 
    if len(raw_value) % 2 == 1:
        raise ValueError("item quality list must have pair elements, got %d (value: %s)"  
                         % (len(raw_value), repr(raw_value)))
 
    # Create a dict from the list with impair as string key and pair as integer value
    return {key: int(value) for key, value in zip(*[iter(raw_value)]*2)}
Пример #4
0
def position_data_parser(raw_value):
    validate_must_be_list(raw_value)
    abs = False
    if len(raw_value) == 3:
        if raw_value[0] != 'absolute':
            raise ValueError('First element for a 3-element position data must be "absolute", got: %s' % raw_value[0])
        abs = True
        _, x, y = raw_value
    elif len(raw_value) == 2:
        x, y = raw_value
    else:
        raise ValueError("Location position data must be exactly 2 or 3 elements")
    return abs, int(x) / -100., int(y) / -100.