X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Futil%2F__init__.py;h=8986f7f402d10c0ee057e9a23d43f4566ea8ccb5;hb=d8616c5bab940943ef8a17db7937a5eb733dd526;hp=f204047cd4a3cbdac4a192cd518fe01ac5532232;hpb=2e4713fecd3f5115a95786b3f6a482167fcd568c;p=monitor.git diff --git a/monitor/util/__init__.py b/monitor/util/__init__.py index f204047..8986f7f 100644 --- a/monitor/util/__init__.py +++ b/monitor/util/__init__.py @@ -1 +1,34 @@ __all__=["writepid","removepid","daemonize"] + +import time +import math + +def diff_time(timestamp, abstime=True): + now = time.time() + if timestamp == None: + return "unknown" + if abstime: + diff = now - timestamp + else: + diff = timestamp + # return the number of seconds as a difference from current time. + t_str = "" + if diff < 60: # sec in min. + t = diff / 1 + t_str = "%s sec ago" % int(math.ceil(t)) + elif diff < 60*60: # sec in hour + t = diff / (60) + t_str = "%s min ago" % int(math.ceil(t)) + elif diff < 60*60*24: # sec in day + t = diff / (60*60) + t_str = "%s hrs ago" % int(math.ceil(t)) + elif diff < 60*60*24*14: # sec in week + t = diff / (60*60*24) + t_str = "%s days ago" % int(math.ceil(t)) + elif diff <= 60*60*24*30: # approx sec in month + t = diff / (60*60*24*7) + t_str = "%s wks ago" % int(math.ceil(t)) + elif diff > 60*60*24*30: # approx sec in month + t = diff / (60*60*24*30) + t_str = "%s mnths ago" % int(t) + return t_str