aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.com>2024-02-12 07:53:52 +0300
committerDaniil Cherednik <dcherednik@ydb.tech>2024-02-14 14:26:16 +0000
commit31f2a419764a8ba77c2a970cfc80056c6cd06756 (patch)
treec1995d239eba8571cefc640f6648e1d5dd4ce9e2 /contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py
parentfe2ef02b38d9c85d80060963b265a1df9f38c3bb (diff)
downloadydb-31f2a419764a8ba77c2a970cfc80056c6cd06756.tar.gz
Update Python from 3.11.8 to 3.12.2
Diffstat (limited to 'contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py')
-rw-r--r--contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py b/contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py
index 4985dce2dc..5db17bea04 100644
--- a/contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py
+++ b/contrib/tools/python3/src/Lib/zoneinfo/_tzpath.py
@@ -2,7 +2,7 @@ import os
import sysconfig
-def reset_tzpath(to=None):
+def _reset_tzpath(to=None, stacklevel=4):
global TZPATH
tzpaths = to
@@ -18,17 +18,22 @@ def reset_tzpath(to=None):
base_tzpath = tzpaths
else:
env_var = os.environ.get("PYTHONTZPATH", None)
- if env_var is not None:
- base_tzpath = _parse_python_tzpath(env_var)
- else:
- base_tzpath = _parse_python_tzpath(
- sysconfig.get_config_var("TZPATH")
- )
+ if env_var is None:
+ env_var = sysconfig.get_config_var("TZPATH")
+ base_tzpath = _parse_python_tzpath(env_var, stacklevel)
TZPATH = tuple(base_tzpath)
-def _parse_python_tzpath(env_var):
+def reset_tzpath(to=None):
+ """Reset global TZPATH."""
+ # We need `_reset_tzpath` helper function because it produces a warning,
+ # it is used as both a module-level call and a public API.
+ # This is how we equalize the stacklevel for both calls.
+ _reset_tzpath(to)
+
+
+def _parse_python_tzpath(env_var, stacklevel):
if not env_var:
return ()
@@ -45,6 +50,7 @@ def _parse_python_tzpath(env_var):
"Invalid paths specified in PYTHONTZPATH environment variable. "
+ msg,
InvalidTZPathWarning,
+ stacklevel=stacklevel,
)
return new_tzpath
@@ -172,4 +178,4 @@ class InvalidTZPathWarning(RuntimeWarning):
TZPATH = ()
-reset_tzpath()
+_reset_tzpath(stacklevel=5)