7
7
import os
8
8
import typing as ty
9
9
from abc import ABC , ABCMeta , abstractmethod
10
- from datetime import datetime
10
+ from datetime import datetime , timezone
11
11
from email .utils import parsedate_to_datetime
12
12
from http .cookies import SimpleCookie
13
13
from socket import gaierror
@@ -96,9 +96,8 @@ def _url_default(self):
96
96
def _url_validate (self , proposal ):
97
97
value = proposal ["value" ]
98
98
# Ensure value, if present, starts with 'http'
99
- if value is not None and len (value ) > 0 :
100
- if not str (value ).lower ().startswith ("http" ):
101
- raise TraitError ("GatewayClient url must start with 'http': '%r'" % value )
99
+ if value is not None and len (value ) > 0 and not str (value ).lower ().startswith ("http" ):
100
+ raise TraitError ("GatewayClient url must start with 'http': '%r'" % value )
102
101
return value
103
102
104
103
ws_url = Unicode (
@@ -115,18 +114,16 @@ def _url_validate(self, proposal):
115
114
@default ("ws_url" )
116
115
def _ws_url_default (self ):
117
116
default_value = os .environ .get (self .ws_url_env )
118
- if default_value is None :
119
- if self .gateway_enabled :
120
- default_value = self .url .lower ().replace ("http" , "ws" )
117
+ if default_value is None and self .gateway_enabled :
118
+ default_value = self .url .lower ().replace ("http" , "ws" )
121
119
return default_value
122
120
123
121
@validate ("ws_url" )
124
122
def _ws_url_validate (self , proposal ):
125
123
value = proposal ["value" ]
126
124
# Ensure value, if present, starts with 'ws'
127
- if value is not None and len (value ) > 0 :
128
- if not str (value ).lower ().startswith ("ws" ):
129
- raise TraitError ("GatewayClient ws_url must start with 'ws': '%r'" % value )
125
+ if value is not None and len (value ) > 0 and not str (value ).lower ().startswith ("ws" ):
126
+ raise TraitError ("GatewayClient ws_url must start with 'ws': '%r'" % value )
130
127
return value
131
128
132
129
kernels_endpoint_default_value = "/api/kernels"
@@ -599,7 +596,7 @@ def update_cookies(self, cookie: SimpleCookie) -> None:
599
596
if not self .accept_cookies :
600
597
return
601
598
602
- store_time = datetime .now ()
599
+ store_time = datetime .now (tz = timezone . utc )
603
600
for key , item in cookie .items ():
604
601
# Convert "expires" arg into "max-age" to facilitate expiration management.
605
602
# As "max-age" has precedence, ignore "expires" when "max-age" exists.
@@ -611,7 +608,7 @@ def update_cookies(self, cookie: SimpleCookie) -> None:
611
608
612
609
def _clear_expired_cookies (self ) -> None :
613
610
"""Clear expired cookies."""
614
- check_time = datetime .now ()
611
+ check_time = datetime .now (tz = timezone . utc )
615
612
expired_keys = []
616
613
617
614
for key , (morsel , store_time ) in self ._cookies .items ():
0 commit comments