##// END OF EJS Templates
compare: move get_changesets to compare controller where it is used - 2nd half that was lost in 6c79bfcd3b54...
compare: move get_changesets to compare controller where it is used - 2nd half that was lost in 6c79bfcd3b54 That is a better location than the pull request model. It should probably be split up and moved to the backend specific Repository classes.

File last commit:

r2007:324ac367 beta
r3754:8beaaea7 beta
Show More
filesize.py
28 lines | 840 B | text/x-python | PythonLexer
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 def filesizeformat(bytes, sep=' '):
"""
Formats the value like a 'human-readable' file size (i.e. 13 KB, 4.1 MB,
102 B, 2.3 GB etc).
Grabbed from Django (http://www.djangoproject.com), slightly modified.
:param bytes: size in bytes (as integer)
:param sep: string separator between number and abbreviation
"""
try:
bytes = float(bytes)
except (TypeError, ValueError, UnicodeDecodeError):
return '0%sB' % sep
if bytes < 1024:
size = bytes
template = '%.0f%sB'
elif bytes < 1024 * 1024:
size = bytes / 1024
template = '%.0f%sKB'
elif bytes < 1024 * 1024 * 1024:
size = bytes / 1024 / 1024
template = '%.1f%sMB'
else:
size = bytes / 1024 / 1024 / 1024
template = '%.2f%sGB'
return template % (size, sep)