Example #1
0
def _validate_size(size_str, roundup=False):
    import capacity
    from capacity import byte
    if size_str == '0' or size_str is None:
        return 0
    try:
        size = capacity.from_string(size_str)
    except ValueError:
        log_n_raise(logger, "{} is an invalid capacity ! Please try one of the following:\n".format(size_str) +
                         "<number> KB, KiB, MB, MiB, GB, GiB, TB, TiB... ", level=WARNING)
    if size == capacity.Capacity(0):
        return 0
    if roundup:
        if (size / byte) / 512.0 != int((size / byte) / 512.0):
            size = ((int((size / byte) / 512) + 1) * 512) * byte
    return size
Example #2
0
def from_string(capacity_string):
    import capacity
    try:
        return capacity.from_string(capacity_string)
    except ValueError:  # \d+B
        return int(capacity_string[:-1])
Example #3
0
 def from_parted_non_machine_parsable_line(cls, disk_device_path, line, column_indexes):
     from capacity import from_string
     column_indexes.append(1024)
     items = [line[column_indexes[index]:column_indexes[index + 1]] for index in range(len(column_indexes) - 1)]
     number, start, end, size, filesystem, name, flags = [item.strip() for item in items]
     return cls(disk_device_path, number, name, from_string(size), filesystem)
Example #4
0
 def from_parted_machine_parsable_line(cls, disk_device_path, line):
     from capacity import from_string
     number, start, end, size, filesystem, name, flags = line.strip(';').split(':')
     return cls(disk_device_path, number, name, from_string(size), filesystem)
Example #5
0
def test_from_string(string_and_value):
    string, value = string_and_value
    assert from_string(string) == value
Example #6
0
def from_string(capacity_string):
    import capacity
    try:
        return capacity.from_string(capacity_string)
    except ValueError:  # \d+B
        return int(capacity_string[:-1])
Example #7
0
def assert_value_error(s):
    with pytest.raises(ValueError):
        from_string(s)