25 lines
657 B
Python
25 lines
657 B
Python
def get_bootstraped_percent(value, total):
|
|
"""
|
|
Get percent and round to be 0, 25, 50 or 100
|
|
|
|
Useful to set progress bar width using CSS classes (e.g. w-25)
|
|
"""
|
|
try:
|
|
percent = value / total
|
|
except (TypeError, ZeroDivisionError):
|
|
return 0
|
|
|
|
bootstraped = round(percent * 4) * 100 // 4
|
|
|
|
# handle min and max boundaries
|
|
bootstraped = max(0, bootstraped)
|
|
bootstraped = min(100, bootstraped)
|
|
|
|
return bootstraped
|
|
|
|
def get_bootstraped_percent_exact(value, total):
|
|
try:
|
|
percent = 100 * float(value)/float(total)
|
|
except (TypeError, ZeroDivisionError):
|
|
return 0
|
|
return int(percent) |