Skip to content

Commit bd27fe1

Browse files
committed
#495 #496 Python 3.12 requires datetime.now(timezone.utc) i.s.o. datetime.now()
1 parent 0ea7165 commit bd27fe1

4 files changed

Lines changed: 18 additions & 18 deletions

File tree

GeoHealthCheck/healthcheck.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#
2828
# =================================================================
2929

30-
from datetime import datetime
30+
from datetime import datetime, timezone
3131
import logging
3232
import json
3333
from urllib.request import urlopen
@@ -95,7 +95,7 @@ def run_resource(resourceid):
9595
# Run test
9696
result = run_test_resource(resource)
9797

98-
run1 = Run(resource, result, datetime.utcnow())
98+
run1 = Run(resource, result, datetime.now(timezone.utc))
9999

100100
DB.session.add(run1)
101101

@@ -144,7 +144,7 @@ def sniff_test_resource(config, resource_type, url):
144144
raise RuntimeError(msg2)
145145

146146
title = None
147-
start_time = datetime.utcnow()
147+
start_time = datetime.now(timezone.utc)
148148
message = None
149149
resource_type_map = {'OGC:WMS': [partial(WebMapService, version='1.3.0'),
150150
partial(WebMapService, version='1.1.1')],
@@ -223,7 +223,7 @@ def sniff_test_resource(config, resource_type, url):
223223
title = urlparse(url).hostname
224224
elif resource_type == 'OSGeo:GeoNode':
225225
endpoints = ows
226-
end_time = datetime.utcnow()
226+
end_time = datetime.now(timezone.utc)
227227
delta = end_time - start_time
228228
response_time = '%s.%s' % (delta.seconds, delta.microseconds)
229229
base_tags = geonode_make_tags(url)
@@ -259,7 +259,7 @@ def sniff_test_resource(config, resource_type, url):
259259
message = msg
260260
success = False
261261

262-
end_time = datetime.utcnow()
262+
end_time = datetime.now(timezone.utc)
263263

264264
delta = end_time - start_time
265265
response_time = '%s.%s' % (delta.seconds, delta.microseconds)
@@ -311,10 +311,10 @@ def geonode_make_tags(base_url):
311311

312312
if __name__ == '__main__':
313313
print('START - Running health check tests on %s'
314-
% datetime.utcnow().isoformat())
314+
% datetime.now(timezone.utc).isoformat())
315315
run_resources()
316316
print('END - Running health check tests on %s'
317-
% datetime.utcnow().isoformat())
317+
% datetime.now(timezone.utc).isoformat())
318318
# from init import App
319319
# if len(sys.argv) < 3:
320320
# print('Usage: %s <resource_type> <url>' % sys.argv[0])

GeoHealthCheck/models.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import json
3232
import logging
3333
from flask_babel import gettext as _
34-
from datetime import datetime, timedelta
34+
from datetime import datetime, timedelta, timezone
3535
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
3636
from sqlalchemy import func, and_
3737

@@ -58,7 +58,7 @@ def flush_runs():
5858
all_runs = Run.query.all()
5959
run_count = 0
6060
for run in all_runs:
61-
days_old = (datetime.utcnow() - run.checked_datetime).days
61+
days_old = (datetime.now(timezone.utc) - run.checked_datetime).days
6262
if days_old > retention_days:
6363
run_count += 1
6464
DB.session.delete(run)
@@ -87,7 +87,7 @@ class Run(DB.Model):
8787
report = deferred(DB.Column(DB.Text, default={}))
8888

8989
def __init__(self, resource, result,
90-
checked_datetime=datetime.utcnow()):
90+
checked_datetime=datetime.now(timezone.utc)):
9191
self.resource = resource
9292
self.success = result.success
9393
self.response_time = result.response_time_str
@@ -680,13 +680,13 @@ def __init__(self, resource, owner, interval_mins):
680680
self.init_datetimes(interval_mins)
681681

682682
def init_datetimes(self, interval_mins):
683-
self.start_time = datetime.utcnow()
683+
self.start_time = datetime.now(timezone.utc)
684684
# Subtract some space from end-time to allow obtain at scheduled time
685685
minutes = interval_mins - 1
686686
self.end_time = self.start_time + timedelta(minutes=minutes)
687687

688688
def has_expired(self):
689-
now = datetime.utcnow()
689+
now = datetime.now(timezone.utc)
690690
return now > self.end_time
691691

692692
def obtain(self, owner, frequency):
@@ -723,7 +723,7 @@ def __init__(self, username, password, email, role='user'):
723723
self.set_password(password)
724724
self.email = email
725725
self.role = role
726-
self.registered_on = datetime.utcnow()
726+
self.registered_on = datetime.now(timezone.utc)
727727

728728
def authenticate(self, password):
729729
return util.verify_hash(password, self.password)

GeoHealthCheck/probe.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def get_metadata_cached(self, resource, version='any'):
128128
metadata = None
129129
if key in Probe.METADATA_CACHE:
130130
entry = Probe.METADATA_CACHE[key]
131-
delta = datetime.datetime.utcnow() - entry['time']
131+
delta = datetime.now(timezone.utc) - entry['time']
132132
metadata = entry['metadata']
133133

134134
# Don't keep cache forever, refresh every N mins
@@ -144,7 +144,7 @@ def get_metadata_cached(self, resource, version='any'):
144144
# Store entry with time, for expiry later
145145
entry = {
146146
"metadata": metadata,
147-
"time": datetime.datetime.utcnow()
147+
"time": datetime.now(timezone.utc)
148148
}
149149
Probe.METADATA_CACHE[key] = entry
150150

GeoHealthCheck/result.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import datetime
1+
from datetime import datetime, timezone
22

33

44
class Result(object):
@@ -36,10 +36,10 @@ def set(self, success, message):
3636
self.message = message
3737

3838
def start(self):
39-
self.start_time = datetime.datetime.utcnow()
39+
self.start_time = datetime.now(timezone.utc)
4040

4141
def stop(self):
42-
self.end_time = datetime.datetime.utcnow()
42+
self.end_time = datetime.now(timezone.utc)
4343

4444
delta = self.end_time - self.start_time
4545
self.response_time_secs = delta.seconds

0 commit comments

Comments
 (0)