Skip to content

Commit dcd915a

Browse files
committed
Replace to-be-deprecated utcnow() datetime calls with aware now() calls
1 parent 39d5af3 commit dcd915a

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/webob/cookies.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import base64
22
import binascii
33
from collections.abc import MutableMapping
4-
from datetime import date, datetime, timedelta
4+
from datetime import date, datetime, timedelta, timezone
55
import hashlib
66
import hmac
77
import json
@@ -239,10 +239,13 @@ def serialize_cookie_date(v):
239239
v = timedelta(seconds=v)
240240

241241
if isinstance(v, timedelta):
242-
v = datetime.utcnow() + v
242+
v = datetime.now(tz=timezone.utc) + v
243243

244-
if isinstance(v, (datetime, date)):
244+
if isinstance(v, datetime):
245+
v = v.astimezone(timezone.utc).timetuple()
246+
elif isinstance(v, date):
245247
v = v.timetuple()
248+
246249
r = time.strftime("%%s, %d-%%s-%Y %H:%M:%S GMT", v)
247250

248251
return bytes_(r % (weekdays[v[6]], months[v[1]]), "ascii")

src/webob/response.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from base64 import b64encode
2-
from datetime import datetime, timedelta
2+
from datetime import datetime, timedelta, timezone
33
from hashlib import md5
44
import re
55
import struct
@@ -1246,6 +1246,8 @@ def _cache_expires(self, seconds=0, **kw):
12461246
seconds = timedelta_to_seconds(seconds)
12471247
cache_control = self.cache_control
12481248

1249+
utcnow = datetime.now(tz=timezone.utc).replace(tzinfo=None)
1250+
12491251
if seconds is None:
12501252
pass
12511253
elif not seconds:
@@ -1259,15 +1261,15 @@ def _cache_expires(self, seconds=0, **kw):
12591261
cache_control.max_age = 0
12601262
cache_control.post_check = 0
12611263
cache_control.pre_check = 0
1262-
self.expires = datetime.utcnow()
1264+
self.expires = utcnow
12631265

12641266
if "last-modified" not in self.headers:
1265-
self.last_modified = datetime.utcnow()
1267+
self.last_modified = utcnow
12661268
self.pragma = "no-cache"
12671269
else:
12681270
cache_control.properties.clear()
12691271
cache_control.max_age = seconds
1270-
self.expires = datetime.utcnow() + timedelta(seconds=seconds)
1272+
self.expires = utcnow + timedelta(seconds=seconds)
12711273
self.pragma = None
12721274

12731275
for name, value in kw.items():

0 commit comments

Comments
 (0)