summaryrefslogtreecommitdiffstats
path: root/Lib/zoneinfo
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2022-01-21 21:18:31 (GMT)
committerGitHub <noreply@github.com>2022-01-21 21:18:31 (GMT)
commit00b2b578bd9e516d601063a086b03177f546bcdd (patch)
treedb2cff504938187649dd72862720b786388236a0 /Lib/zoneinfo
parentf1e559b7544d665a84747a7bc7ecebadef2a6be2 (diff)
downloadcpython-00b2b578bd9e516d601063a086b03177f546bcdd.zip
cpython-00b2b578bd9e516d601063a086b03177f546bcdd.tar.gz
cpython-00b2b578bd9e516d601063a086b03177f546bcdd.tar.bz2
bpo-46124: Update zoneinfo to rely on importlib.resources traversable API. (GH-30190)
Automerge-Triggered-By: GH:jaraco
Diffstat (limited to 'Lib/zoneinfo')
-rw-r--r--Lib/zoneinfo/_common.py4
-rw-r--r--Lib/zoneinfo/_tzpath.py2
2 files changed, 3 insertions, 3 deletions
diff --git a/Lib/zoneinfo/_common.py b/Lib/zoneinfo/_common.py
index 4c24f01..98cdfe3 100644
--- a/Lib/zoneinfo/_common.py
+++ b/Lib/zoneinfo/_common.py
@@ -2,14 +2,14 @@ import struct
def load_tzdata(key):
- import importlib.resources
+ from importlib import resources
components = key.split("/")
package_name = ".".join(["tzdata.zoneinfo"] + components[:-1])
resource_name = components[-1]
try:
- return importlib.resources.open_binary(package_name, resource_name)
+ return resources.files(package_name).joinpath(resource_name).open("rb")
except (ImportError, FileNotFoundError, UnicodeEncodeError):
# There are three types of exception that can be raised that all amount
# to "we cannot find this key":
diff --git a/Lib/zoneinfo/_tzpath.py b/Lib/zoneinfo/_tzpath.py
index 672560b..4985dce 100644
--- a/Lib/zoneinfo/_tzpath.py
+++ b/Lib/zoneinfo/_tzpath.py
@@ -118,7 +118,7 @@ def available_timezones():
# Start with loading from the tzdata package if it exists: this has a
# pre-assembled list of zones that only requires opening one file.
try:
- with resources.open_text("tzdata", "zones") as f:
+ with resources.files("tzdata").joinpath("zones").open("r") as f:
for zone in f:
zone = zone.strip()
if zone: