Just van Rossum <just@letterror.com> writes: > Thomas Heller wrote: > > > Looks ok to me, although I would prefer to write > > > > path = os.sep.join(__name__.split(".") + ["wininst.exe"]) > > or > > path = os.path.join(*__name__.split(".") + ["wininst.exe"]) > > Much better. I think I'd prefer the first, mostly because os.path.join() > might do more magic than needed. Me too. Also because I wasn't sure first if I had to write path = os.path.join(*l1 + l2) or path = os.path.join(*(l1 + l2)) > > I think it's time to pin down the next extensions to the importer > protocol. How about the next speclet: > > bool = loader.is_package(fullname) > code = loader.get_code(fullname) > str = loader.get_source(fullname) > > (is_package and get_code are needed for modulefinder-like tools, > get_source is needed for linecache-like tools.) I like this much better than Jim's proposal, although I cannot think too deep currently about this. > > All three should raise ImportError if the module isn't available. > get_code and get_source should return None if there's no code or source > associated with the module, respectively. "No code" means it's a builtin > module or an extension. "No source" means just that (eg. for zipimport > it would mean "I've only got a .pyc or .pyo file for you"). > > If the importer does support get_source(), yet doesn't have a code > object readily available, get_code() should compile the source by itself > and return the code. This is to make life easier for the caller: if it > only needs the code object it shouldn't need to also check get_source() > and deal with that. > > They should be optional, yet strongly recommended for general purpose > hooks. There's no need to support them for hooks that are specific to a > deliverable app; for example zipimport should have them, but if Thomas > writes a dedicated hook for the apps built by py2exe, he should be free > to leave them out. > > Btw. would it be better if mod.__importer__ was named mod.__loader__? Yes. > This is closer to the truth, yet I fear that __loader__ is too generic. Before I can give better comments, I have to read the PEP it seems. Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4