Skip to content

Commit cf3704d

Browse files
committed
fix: Removed the ugly TimeUtilities.time()
1 parent 519a7a6 commit cf3704d

File tree

2 files changed

+14
-35
lines changed

2 files changed

+14
-35
lines changed

src/DIRAC/Core/Utilities/TimeUtilities.py

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
99
The following datetime classes are used in the returned objects:
1010
11-
- dateTime = datetime.datetime
12-
- date = datetime.date
1311
- time = datetime.timedelta
1412
1513
Useful timedelta constant are also provided to
@@ -38,7 +36,7 @@
3836
day = datetime.timedelta(days=1)
3937
week = datetime.timedelta(days=7)
4038

41-
dt = datetime.datetime(2000, 1, 1)
39+
_dateTimeObject = datetime.datetime.utcnow()
4240

4341

4442
def timeThis(method):
@@ -52,7 +50,7 @@ def timed(*args, **kw):
5250
return result
5351
te = nativetime.time()
5452

55-
pre = dt.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC ")
53+
pre = _dateTimeObject.strftime("%Y-%m-%d %H:%M:%S UTC ")
5654

5755
try:
5856
pre += args[0].log.getName() + "/" + args[0].log.getSubName() + " TIME: " + args[0].transString
@@ -86,30 +84,20 @@ def timed(*args, **kw):
8684
return timed
8785

8886

89-
def time(myDateTime=None):
90-
"""
91-
Return current UTC time, as datetime.time object
92-
if a _dateTimeType is pass as argument its associated time is returned
93-
"""
94-
if not isinstance(myDateTime, _dateTimeType):
95-
myDateTime = datetime.datetime.utcnow()
96-
return myDateTime - datetime.datetime(myDateTime.year, myDateTime.month, myDateTime.day)
97-
98-
9987
def toEpoch(dateTimeObject=None):
10088
"""
10189
Get seconds since epoch
10290
"""
10391
if not dateTimeObject:
104-
dateTimeObject = datetime.datetime.utcnow()
92+
dateTimeObject = _dateTimeObject
10593
return nativetime.mktime(dateTimeObject.timetuple())
10694

10795

10896
def fromEpoch(epoch):
10997
"""
11098
Get datetime object from epoch
11199
"""
112-
return dt.fromtimestamp(epoch)
100+
return _dateTimeObject.fromtimestamp(epoch)
113101

114102

115103
def toString(myDate=None):
@@ -126,21 +114,21 @@ def toString(myDate=None):
126114
[hour]:[min]:[sec]:[microsec]
127115
where min, sec, microsec are always positive integers and hour carries the sign.
128116
"""
129-
if isinstance(myDate, _dateTimeType):
117+
if isinstance(myDate, datetime.datetime):
130118
return str(myDate)
131119

132-
elif isinstance(myDate, _dateType):
120+
elif isinstance(myDate, datetime.date):
133121
return str(myDate)
134122

135-
elif isinstance(myDate, _timeType):
123+
elif isinstance(myDate, datetime.timedelta):
136124
return "%02d:%02d:%02d.%06d" % (
137125
myDate.days * 24 + myDate.seconds / 3600,
138126
myDate.seconds % 3600 / 60,
139127
myDate.seconds % 60,
140128
myDate.microseconds,
141129
)
142130
else:
143-
return toString(datetime.datetime.utcnow())
131+
return toString(_dateTimeObject)
144132

145133

146134
def fromString(myDate=None):
@@ -159,7 +147,7 @@ def fromString(myDate=None):
159147
return datetime.datetime(year=dateTuple[0], month=dateTuple[1], day=dateTuple[2]) + fromString(
160148
dateTimeTuple[1]
161149
)
162-
# return dt.combine( fromString( dateTimeTuple[0] ),
150+
# return _dateTimeObject.combine( fromString( dateTimeTuple[0] ),
163151
# fromString( dateTimeTuple[1] ) )
164152
except Exception:
165153
try:
@@ -168,7 +156,7 @@ def fromString(myDate=None):
168156
) + fromString(dateTimeTuple[1])
169157
except ValueError:
170158
return None
171-
# return dt.combine( fromString( dateTimeTuple[0] ),
159+
# return _dateTimeObject.combine( fromString( dateTimeTuple[0] ),
172160
# fromString( dateTimeTuple[1] ) )
173161
elif myDate.find(":") > 0:
174162
timeTuple = myDate.replace(".", ":").split(":")
@@ -218,7 +206,7 @@ def __init__(self, initialDateTime, intervalTimeDelta):
218206
If not properly initialized an error flag is set, and subsequent calls
219207
to any method will return None
220208
"""
221-
if not isinstance(initialDateTime, _dateTimeType) or not isinstance(intervalTimeDelta, _timeType):
209+
if not isinstance(initialDateTime, datetime.datetime) or not isinstance(intervalTimeDelta, datetime.timedelta):
222210
self.__error = True
223211
return None
224212
self.__error = False
@@ -233,7 +221,7 @@ def includes(self, myDateTime):
233221
""" """
234222
if self.__error:
235223
return None
236-
if not isinstance(myDateTime, _dateTimeType):
224+
if not isinstance(myDateTime, datetime.datetime):
237225
return None
238226
if myDateTime < self.__startDateTime:
239227
return False
@@ -253,12 +241,3 @@ def measureQueryTime(*args, **kwargs):
253241
return result
254242

255243
return measureQueryTime
256-
257-
258-
_dateTimeType = type(datetime.datetime.utcnow())
259-
_dateType = type(datetime.datetime.utcnow().date())
260-
_timeType = type(time())
261-
262-
_allTimeTypes = (_dateTimeType, _timeType)
263-
_allDateTypes = (_dateTimeType, _dateType)
264-
_allTypes = (_dateTimeType, _dateType, _timeType)

src/DIRAC/MonitoringSystem/Service/MonitoringHandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ class MonitoringHandlerMixin:
3838
__reportRequestDict = {
3939
"typeName": str,
4040
"reportName": str,
41-
"startTime": TimeUtilities._allDateTypes,
42-
"endTime": TimeUtilities._allDateTypes,
41+
"startTime": (datetime.datetime, datetime.date, datetime.timedelta),
42+
"endTime": (datetime.datetime, datetime.date, datetime.timedelta),
4343
"condDict": dict,
4444
"grouping": str,
4545
"extraArgs": dict,

0 commit comments

Comments
 (0)