1717 Lambda ,
1818 b2u ,
1919 check_signature ,
20+ datetime2iso ,
2021 dumptree ,
2122 duration2timedelta ,
2223 filter_lang ,
3435 subdomains ,
3536 unicode_stream ,
3637 url2host ,
38+ utc_now ,
3739 validate_document ,
3840 xml_error ,
3941)
@@ -172,7 +174,10 @@ def parse(self, resource, content):
172174 )
173175
174176 if expire_time_offset is not None :
175- expire_time = datetime .now () + expire_time_offset
177+ now = utc_now ()
178+ now = now .replace (microsecond = 0 )
179+
180+ expire_time = now + expire_time_offset
176181 resource .expire_time = expire_time
177182 info ['Expiration Time' ] = str (expire_time )
178183
@@ -217,13 +222,13 @@ def parse(self, resource, content):
217222 info ['NextUpdate' ] = next_update
218223 resource .expire_time = iso2datetime (next_update )
219224 elif config .respect_cache_duration :
220- now = datetime . utcnow ()
225+ now = utc_now ()
221226 now = now .replace (microsecond = 0 )
222227 next_update = now + duration2timedelta (config .default_cache_duration )
223228 info ['NextUpdate' ] = next_update
224229 resource .expire_time = next_update
225230
226- info ['Expiration Time' ] = str ( resource .expire_time )
231+ info ['Expiration Time' ] = 'None' if not resource .expire_time else resource . expire_time . isoformat ( )
227232 info ['IssuerName' ] = first_text (relt , "{%s}IssuerName" % NS ['ser' ])
228233 info ['SchemeIdentifier' ] = first_text (relt , "{%s}SchemeIdentifier" % NS ['ser' ])
229234 info ['SchemeTerritory' ] = first_text (relt , "{%s}SchemeTerritory" % NS ['ser' ])
@@ -266,7 +271,7 @@ def _update_entities(_t, **kwargs):
266271 r .add_via (Lambda (_update_entities , ** args ))
267272
268273 log .debug ("Done parsing eIDAS MetadataServiceList" )
269- resource .last_seen = datetime . now ( )
274+ resource .last_seen = utc_now (). replace ( microsecond = 0 )
270275 resource .expire_time = None
271276 return info
272277
@@ -280,10 +285,9 @@ def metadata_expiration(t):
280285 cache_duration = config .default_cache_duration
281286 valid_until = relt .get ('validUntil' , None )
282287 if valid_until is not None :
283- now = datetime . utcnow ( )
288+ now = utc_now (). replace ( microsecond = 0 )
284289 vu = iso2datetime (valid_until )
285- now = now .replace (microsecond = 0 )
286- vu = vu .replace (microsecond = 0 , tzinfo = None )
290+ vu = vu .replace (microsecond = 0 )
287291 return vu - now
288292 elif config .respect_cache_duration :
289293 cache_duration = relt .get ('cacheDuration' , config .default_cache_duration )
@@ -1037,8 +1041,7 @@ def set_pubinfo(e, publisher=None, creation_instant=None):
10371041 raise MetadataException ("At least publisher must be provided" )
10381042
10391043 if creation_instant is None :
1040- now = datetime .utcnow ()
1041- creation_instant = now .strftime ("%Y-%m-%dT%H:%M:%SZ" )
1044+ creation_instant = datetime2iso (utc_now ())
10421045
10431046 ext = entity_extensions (e )
10441047 pi = ext .find (".//{%s}PublicationInfo" % NS ['mdrpi' ])
@@ -1080,10 +1083,8 @@ def expiration(t):
10801083 cache_duration = config .default_cache_duration
10811084 valid_until = relt .get ('validUntil' , None )
10821085 if valid_until is not None :
1083- now = datetime . utcnow ( )
1086+ now = utc_now (). replace ( microsecond = 0 )
10841087 vu = iso2datetime (valid_until )
1085- now = now .replace (microsecond = 0 )
1086- vu = vu .replace (microsecond = 0 , tzinfo = None )
10871088 return vu - now
10881089 elif config .respect_cache_duration :
10891090 cache_duration = relt .get ('cacheDuration' , config .default_cache_duration )
0 commit comments