31 |
31 |
32 def getHumanSize(value, request=None): |
32 def getHumanSize(value, request=None): |
33 """Convert given bytes value in human readable format""" |
33 """Convert given bytes value in human readable format""" |
34 if request is None: |
34 if request is None: |
35 request = queryRequest() |
35 request = queryRequest() |
|
36 if request is not None: |
|
37 formatter = request.locale.numbers.getFormatter('decimal') |
|
38 else: |
|
39 formatter = None |
36 if value < 1024: |
40 if value < 1024: |
37 return translate(_("%d bytes"), context=request) % value |
41 return translate(_("%d bytes"), context=request) % value |
38 value = value / 1024.0 |
42 value = value / 1024.0 |
39 if value < 1024: |
43 if value < 1024: |
40 return translate(_("%.1f Kb"), context=request) % value |
44 if formatter is None: |
|
45 return translate(_("%.1f Kb"), context=request) % value |
|
46 else: |
|
47 return translate(_("%s Kb"), context=request) % formatter.format(value, '0.0') |
41 value = value / 1024.0 |
48 value = value / 1024.0 |
42 if value < 1024: |
49 if value < 1024: |
43 return translate(_("%.2f Mb"), context=request) % value |
50 if formatter is None: |
|
51 return translate(_("%.2f Mb"), context=request) % value |
|
52 else: |
|
53 return translate(_("%s Mb"), context=request) % formatter.format(value, '0.00') |
44 value = value / 1024.0 |
54 value = value / 1024.0 |
45 return translate(_("%.3f Gb"), context=request) % value |
55 if formatter is None: |
|
56 return translate(_("%.3f Gb"), context=request) % value |
|
57 else: |
|
58 return translate(_("%s Gb"), context=request) % formatter.format(value, '0.000') |