diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2024-09-11 22:33:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-11 22:33:07 -0400 |
commit | ba687d9481c04fd160795ff8d8568f5c9f877128 (patch) | |
tree | 03845d8195b86add0ced1e72f55b1e556c0c5b80 /Lib/importlib/resources | |
parent | 3bd942f106aa36c261a2d90104c027026b2a8fb6 (diff) | |
download | cpython-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.py | 6 |
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): |