mirror of https://github.com/pypa/pip
Handle ISO formats with a trailing Z
This commit is contained in:
parent
9f213bf69a
commit
fb06d12d5a
|
@ -0,0 +1 @@
|
||||||
|
Handle a timezone indicator of Z when parsing dates in the self check.
|
|
@ -39,6 +39,15 @@ def _get_statefile_name(key: str) -> str:
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
def _convert_date(isodate: str) -> datetime.datetime:
|
||||||
|
"""Convert an ISO format string to a date.
|
||||||
|
|
||||||
|
Handles the format 2020-01-22T14:24:01Z (trailing Z)
|
||||||
|
which is not supported by older versions of fromisoformat.
|
||||||
|
"""
|
||||||
|
return datetime.datetime.fromisoformat(isodate.replace("Z", "+00:00"))
|
||||||
|
|
||||||
|
|
||||||
class SelfCheckState:
|
class SelfCheckState:
|
||||||
def __init__(self, cache_dir: str) -> None:
|
def __init__(self, cache_dir: str) -> None:
|
||||||
self._state: Dict[str, Any] = {}
|
self._state: Dict[str, Any] = {}
|
||||||
|
@ -73,7 +82,7 @@ class SelfCheckState:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# Determine if we need to refresh the state
|
# Determine if we need to refresh the state
|
||||||
last_check = datetime.datetime.fromisoformat(self._state["last_check"])
|
last_check = _convert_date(self._state["last_check"])
|
||||||
time_since_last_check = current_time - last_check
|
time_since_last_check = current_time - last_check
|
||||||
if time_since_last_check > _WEEK:
|
if time_since_last_check > _WEEK:
|
||||||
return None
|
return None
|
||||||
|
|
Loading…
Reference in New Issue