41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
#!/usr/bin/python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
def groupbythree (integer, sep = ' '):
|
|
'''
|
|
Group integer by three figures
|
|
Optionnal sep parameter is to define the char to put between groups and is space by default
|
|
'''
|
|
from re import sub
|
|
return (sub (',', sep, '{:,}'.format (integer)))
|
|
|
|
def seconds_to_time (time):
|
|
'''
|
|
Converts a number of second time to formated time
|
|
'''
|
|
def leading_zero (value):
|
|
return "%02d" % (value,)
|
|
days = int (time/86400)
|
|
hours = int ((time/3600) - (24*days))
|
|
minutes = int ((time/60) - (1440*days) - (60*hours))
|
|
seconds = int (time - (86400*days) - (3600*hours) - (60*minutes))
|
|
if days == 0:
|
|
if hours == 0:
|
|
if minutes == 0:
|
|
return (str (leading_zero (seconds)) + 's')
|
|
else:
|
|
return (str (leading_zero (minutes)) + 'm ' + str (leading_zero (seconds)) + 's')
|
|
else:
|
|
return (str (leading_zero (hours)) + 'h ' + str (leading_zero (minutes)) + 'm ' + str (leading_zero (seconds)) + 's')
|
|
else:
|
|
return (str (days) + "j " + str (leading_zero (hours)) + 'h ' + str (leading_zero (minutes)) + 'm ' + str (leading_zero (seconds)) + 's')
|
|
|
|
def sleep_to_next_second ():
|
|
from time import sleep, time
|
|
sleep (1-(time ()-int (time())))
|
|
|
|
def bytes_human (num):
|
|
for x in ['B','KiB','MiB','GiB','TiB']:
|
|
if num < 1024.0:
|
|
return "%3.1f %s" % (num, x)
|
|
num /= 1024.0 |