Add helper method total_seconds in timeutils.py
Almost every OpenStack project is using hardcode to calculate duration like 'delta.days * 24 * 3600', even 2592000. Method delta_seconds takes a timedelta instance as input to compute total seconds. Method delta_seconds also is refactored to call new method. Change-Id: I397bae402e012c28aaa6aa2bb10170b83eeeaa8c
This commit is contained in:
@@ -178,6 +178,15 @@ def delta_seconds(before, after):
|
||||
datetime objects (as a float, to microsecond resolution).
|
||||
"""
|
||||
delta = after - before
|
||||
return total_seconds(delta)
|
||||
|
||||
|
||||
def total_seconds(delta):
|
||||
"""Return the total seconds of datetime.timedelta object.
|
||||
|
||||
Compute total seconds of datetime.timedelta, datetime.timedelta
|
||||
doesn't have method total_seconds in Python2.6, calculate it manually.
|
||||
"""
|
||||
try:
|
||||
return delta.total_seconds()
|
||||
except AttributeError:
|
||||
|
||||
@@ -184,6 +184,11 @@ class TimeUtilsTest(test.BaseTestCase):
|
||||
self.assertAlmostEquals(604859.123456,
|
||||
timeutils.delta_seconds(before, after))
|
||||
|
||||
def test_total_seconds(self):
|
||||
delta = datetime.timedelta(days=1, hours=2, minutes=3, seconds=4.5)
|
||||
self.assertAlmostEquals(93784.5,
|
||||
timeutils.total_seconds(delta))
|
||||
|
||||
def test_iso8601_from_timestamp(self):
|
||||
utcnow = timeutils.utcnow()
|
||||
iso = timeutils.isotime(utcnow)
|
||||
|
||||
Reference in New Issue
Block a user