aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/importlib/resources
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2024-09-11 22:33:07 -0400
committerGitHub <noreply@github.com>2024-09-11 22:33:07 -0400
commitba687d9481c04fd160795ff8d8568f5c9f877128 (patch)
tree03845d8195b86add0ced1e72f55b1e556c0c5b80 /Lib/importlib/resources
parent3bd942f106aa36c261a2d90104c027026b2a8fb6 (diff)
downloadcpython-ba687d9481c04fd160795ff8d8568f5c9f877128.tar.gz
cpython-ba687d9481c04fd160795ff8d8568f5c9f877128.zip
gh-121735: Fix module-adjacent references in zip files (#123037)
* gh-116608: Apply style and compatibility changes from importlib_metadata. * gh-121735: Ensure module-adjacent resources are loadable from a zipfile. * gh-121735: Allow all modules to be processed by the ZipReader. * Add blurb * Remove update-zips script, unneeded. * Remove unnecessary references to removed static fixtures. * Remove zipdata fixtures, unused.
Diffstat (limited to 'Lib/importlib/resources')
-rw-r--r--Lib/importlib/resources/readers.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/importlib/resources/readers.py b/Lib/importlib/resources/readers.py
index b86cdeff57c..ccc5abbeb4e 100644
--- a/Lib/importlib/resources/readers.py
+++ b/Lib/importlib/resources/readers.py
@@ -34,8 +34,10 @@ class FileReader(abc.TraversableResources):
class ZipReader(abc.TraversableResources):
def __init__(self, loader, module):
- _, _, name = module.rpartition('.')
- self.prefix = loader.prefix.replace('\\', '/') + name + '/'
+ self.prefix = loader.prefix.replace('\\', '/')
+ if loader.is_package(module):
+ _, _, name = module.rpartition('.')
+ self.prefix += name + '/'
self.archive = loader.archive
def open_resource(self, resource):