On Wed, May 23, 2012 at 9:10 AM, Eric V. Smith <e...@trueblade.com> wrote:
> On 05/23/2012 09:02 AM, Nick Coghlan wrote: > > On Wed, May 23, 2012 at 10:31 PM, Eric V. Smith <e...@trueblade.com> > wrote: > >> On 05/22/2012 09:49 PM, PJ Eby wrote: > >>> It shouldn't - all you should need is to use > >>> getattr(sys.modules[self.modname], self.attr) instead of referencing a > >>> parent path object directly. > >> > >> The problem isn't the lookup, it's coming up with self.modname and > >> self.attr. As it currently stands, PathFinder.find_module is given the > >> parent path, not the module name and attribute name used to look up the > >> parent path using sys.modules and getattr. > > > > Right, that's what PJE and I were discussing. Instead of passing in > > the path object directly, you can instead pass an object that *lazily* > > retrieves the path object in its __iter__ method: > > Hey, one message at a time! I'm just reading those now. > > I'd like to hear Brett's comments on this approach. If I understand the proposal correctly, this would be a change in NamespaceLoader in how it sets __path__ and in no way affect any other code since __import__() just grabs the object on __path__ and passes as an argument to the meta path finders which just iterate over the object, so I have no objections to it. -Brett
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com