Skip to content

Commit 7b13071

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

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/webob/cookies.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import string
1010
import time
1111
import warnings
12+
import zoneinfo
1213

1314
from webob.util import bytes_, text_
1415

@@ -239,10 +240,13 @@ def serialize_cookie_date(v):
239240
v = timedelta(seconds=v)
240241

241242
if isinstance(v, timedelta):
242-
v = datetime.utcnow() + v
243+
v = datetime.now(tz=zoneinfo.ZoneInfo("UTC")) + v
243244

244-
if isinstance(v, (datetime, date)):
245+
if isinstance(v, datetime):
246+
v = v.astimezone(zoneinfo.ZoneInfo("UTC")).timetuple()
247+
elif isinstance(v, date):
245248
v = v.timetuple()
249+
246250
r = time.strftime("%%s, %d-%%s-%Y %H:%M:%S GMT", v)
247251

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

src/webob/response.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from urllib import parse as urlparse
77
from urllib.parse import quote as url_quote
88
import zlib
9+
import zoneinfo
910

1011
from webob.byterange import ContentRange
1112
from webob.cachecontrol import CacheControl, serialize_cache_control
@@ -1259,15 +1260,15 @@ def _cache_expires(self, seconds=0, **kw):
12591260
cache_control.max_age = 0
12601261
cache_control.post_check = 0
12611262
cache_control.pre_check = 0
1262-
self.expires = datetime.utcnow()
1263+
self.expires = datetime.now(tz=zoneinfo.ZoneInfo("UTC")).replace(tzinfo=None)
12631264

12641265
if "last-modified" not in self.headers:
1265-
self.last_modified = datetime.utcnow()
1266+
self.last_modified = datetime.now(tz=zoneinfo.ZoneInfo("UTC")).replace(tzinfo=None)
12661267
self.pragma = "no-cache"
12671268
else:
12681269
cache_control.properties.clear()
12691270
cache_control.max_age = seconds
1270-
self.expires = datetime.utcnow() + timedelta(seconds=seconds)
1271+
self.expires = datetime.now(tz=zoneinfo.ZoneInfo("UTC")).replace(tzinfo=None) + timedelta(seconds=seconds)
12711272
self.pragma = None
12721273

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

0 commit comments

Comments
 (0)