From b4eaeb07a5cf91a05c86f15fa11ee7a56f096414 Mon Sep 17 00:00:00 2001 From: rupozzi Date: Tue, 7 Jun 2022 17:26:45 +0200 Subject: [PATCH 1/3] fix: timezone dependency of TimeUtilities Module --- src/DIRAC/Core/Utilities/TimeUtilities.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/DIRAC/Core/Utilities/TimeUtilities.py b/src/DIRAC/Core/Utilities/TimeUtilities.py index 2fddab0e6d9..4c4c1db0014 100755 --- a/src/DIRAC/Core/Utilities/TimeUtilities.py +++ b/src/DIRAC/Core/Utilities/TimeUtilities.py @@ -19,6 +19,7 @@ if a give datetime is in the defined interval. """ +import calendar import time as nativetime import datetime import sys @@ -84,7 +85,7 @@ def toEpoch(dateTimeObject=None): """ if not dateTimeObject: dateTimeObject = datetime.datetime.utcnow() - return nativetime.mktime(dateTimeObject.timetuple()) + return calendar.timegm(dateTimeObject.utctimetuple()) def toEpochMilliSeconds(dateTimeObject=None): @@ -98,7 +99,7 @@ def fromEpoch(epoch): """ Get datetime object from epoch """ - return datetime.datetime.utcnow().fromtimestamp(epoch) + return datetime.datetime.utcfromtimestamp(epoch) def toString(myDate=None): From 1194a4051d0ca497cad759aa7d98e1768d79a99d Mon Sep 17 00:00:00 2001 From: rupozzi Date: Wed, 15 Jun 2022 10:36:18 +0200 Subject: [PATCH 2/3] fix: Updating client test to UTC time --- tests/Integration/Monitoring/Test_MonitoringSystem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Integration/Monitoring/Test_MonitoringSystem.py b/tests/Integration/Monitoring/Test_MonitoringSystem.py index 5b0275e0a9a..1adeeb29acc 100644 --- a/tests/Integration/Monitoring/Test_MonitoringSystem.py +++ b/tests/Integration/Monitoring/Test_MonitoringSystem.py @@ -123,8 +123,8 @@ def test_getReport(putAndDelete): params = ( "WMSHistory", "NumberOfJobs", - datetime(2016, 3, 16, 12, 30, 0, 0), - datetime(2016, 3, 17, 19, 29, 0, 0), + datetime(2016, 3, 16, 10, 30, 0, 0), + datetime(2016, 3, 17, 17, 29, 0, 0), {"grouping": ["Site"]}, "Site", {}, From 0aa797cff9a1dba0c72cd4b8f7a7869e4d520e69 Mon Sep 17 00:00:00 2001 From: rupozzi Date: Thu, 16 Jun 2022 09:14:48 +0200 Subject: [PATCH 3/3] fix: removing nativetime for time import --- src/DIRAC/Core/Utilities/TimeUtilities.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/DIRAC/Core/Utilities/TimeUtilities.py b/src/DIRAC/Core/Utilities/TimeUtilities.py index 4c4c1db0014..31ba4b5db5b 100755 --- a/src/DIRAC/Core/Utilities/TimeUtilities.py +++ b/src/DIRAC/Core/Utilities/TimeUtilities.py @@ -20,7 +20,7 @@ """ import calendar -import time as nativetime +import time import datetime import sys @@ -39,11 +39,11 @@ def timeThis(method): def timed(*args, **kw): """What actually times""" - ts = nativetime.time() + ts = time.time() result = method(*args, **kw) if sys.stdout.isatty(): return result - te = nativetime.time() + te = time.time() pre = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC ") @@ -236,10 +236,10 @@ def queryTime(f): """Decorator to measure the function call time""" def measureQueryTime(*args, **kwargs): - start = nativetime.time() + start = time.time() result = f(*args, **kwargs) if result["OK"] and "QueryTime" not in result: - result["QueryTime"] = nativetime.time() - start + result["QueryTime"] = time.time() - start return result return measureQueryTime