On 03-03-2015 05:16, Paulo Ricardo Paz Vital wrote:
s/src_unit/src_unit=None
As explained below, both second and third arguments can be None and then
automatically converted to use DEFAULT_UNIT.
I tried "convert_data_size(4)" and got the error:
TypeError: convert_data_size() takes at least 2 arguments (1 given)
I didn't mean the first parameter to be optional. What would you expect
when calling "convert_data_size(4)"? Assuming both units as bytes, the
function would always return the same value which was passed to it. Both
parameters *can* be None but that doesn't mean we should create a
default situation where it happens, because that wouldn't be useful at all.
> + SI_PREFIXES = ['k', 'M', 'G',
'T', 'P', 'E', 'Z', 'Y']
I guess you can add a new line here, as you did between
SUFFIXES_WITH_MULT and DEFAULT_SUFFIX.
> + # The IEC prefixes are the equivalent SI prefixes + 'i'
> + # but, exceptionally, 'k' becomes 'Ki' instead of 'ki'.
> + IEC_PREFIXES = map(lambda p: 'Ki' if p == 'k' else p +
'i', SI_PREFIXES)
New line here.
> + PREFIXES_BY_BASE = {1000: SI_PREFIXES,
> + 1024: IEC_PREFIXES}
> +
> + SUFFIXES_WITH_MULT = {'b': 1,
> + 'B': 8}
> + DEFAULT_SUFFIX = 'B'
> +
> + DEFAULT_UNIT = 'B'
> +
> +
Well, I tried to group the variable declarations by subject:
prefix-related variables, <blank space>, suffix-related variables,
<blank space>, unit-related variable.