src/ztfy/utils/size.py
branchZTK-1.1
changeset 207 7630f79b1506
parent 184 722ebc739cf1
child 212 0c2257bf3762
equal deleted inserted replaced
206:01b492f1f87e 207:7630f79b1506
    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')