diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-01-23 21:07:25 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-01-23 21:07:25 +0000 |
commit | e59f763b2a4325b583a40afe29b95e41bd0e5a5e (patch) | |
tree | 8346012d07de817d3456f30ee22355ecb47e4022 | |
parent | 886f9811ab95bce82f088de4178c0993450c5cea (diff) | |
parent | a956f7aab04f9914870980cb3acb0d5bcafbe1f0 (diff) | |
download | oslo-e59f763b2a4325b583a40afe29b95e41bd0e5a5e.tar.gz oslo-e59f763b2a4325b583a40afe29b95e41bd0e5a5e.tar.xz oslo-e59f763b2a4325b583a40afe29b95e41bd0e5a5e.zip |
Merge "Import timeutils.is_soon from keystoneclient"
-rw-r--r-- | openstack/common/timeutils.py | 13 | ||||
-rw-r--r-- | tests/unit/test_timeutils.py | 6 |
2 files changed, 19 insertions, 0 deletions
diff --git a/openstack/common/timeutils.py b/openstack/common/timeutils.py index 0f34608..572c829 100644 --- a/openstack/common/timeutils.py +++ b/openstack/common/timeutils.py @@ -162,3 +162,16 @@ def delta_seconds(before, after): except AttributeError: return ((delta.days * 24 * 3600) + delta.seconds + float(delta.microseconds) / (10 ** 6)) + + +def is_soon(dt, window): + """ + Determines if time is going to happen in the next window seconds. + + :params dt: the time + :params window: minimum seconds to remain to consider the time not soon + + :return: True if expiration is within the given duration + """ + soon = (utcnow() + datetime.timedelta(seconds=window)) + return normalize_time(dt) < soon diff --git a/tests/unit/test_timeutils.py b/tests/unit/test_timeutils.py index 1407f29..3ad07a8 100644 --- a/tests/unit/test_timeutils.py +++ b/tests/unit/test_timeutils.py @@ -272,3 +272,9 @@ class TestIso8601Time(unittest.TestCase): dtn = datetime.datetime(2011, 2, 14, 19, 53, 07) naive = timeutils.normalize_time(dtn) self.assertTrue(naive < dt) + + def test_is_soon(self): + expires = timeutils.utcnow() + datetime.timedelta(minutes=5) + self.assertFalse(timeutils.is_soon(expires, 120)) + self.assertTrue(timeutils.is_soon(expires, 300)) + self.assertTrue(timeutils.is_soon(expires, 600)) |