Message2839
This is a full implementation of CPython's zipimporter. It replaces our ZipFileImporter, which actually predates CPython's zipimporter that stemmed from PEP 302
Notes:
o ZipFileImporter was removed. It's possible we could remove SyspathArchive in the future, if we can make SyspathJavaLoader not rely on it (SyspathArchive is pretty lame)
o ZipImportException is initialized during exceptions.classDictInit when built in exceptions are initialized during startup. It has to be initialized as early as possible, but has to be done with a current PyFrame (which exceptions.classDictInit fakes to create its own exceptions)
o zipimporter creates the PyCode, then sets __loader__ and __path__ on its PyModule, then executes the PyCode. This is to match CPython's behavior. ZipFileImporter was lazier about this (resulting in some potential bugs). A couple imp methods were made public/split into two methods from one to support this |
|
Date |
User |
Action |
Args |
2008-02-20 17:18:47 | admin | link | issue1783554 messages |
2008-02-20 17:18:47 | admin | create | |
|