<br><br><div class="gmail_quote">On Wed, May 23, 2012 at 9:10 AM, Eric V. Smith <span dir="ltr"><<a href="mailto:eric@trueblade.com" target="_blank">eric@trueblade.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 05/23/2012 09:02 AM, Nick Coghlan wrote:<br>
> On Wed, May 23, 2012 at 10:31 PM, Eric V. Smith <<a href="mailto:eric@trueblade.com">eric@trueblade.com</a>> wrote:<br>
>> On 05/22/2012 09:49 PM, PJ Eby wrote:<br>
>>> It shouldn't - all you should need is to use<br>
>>> getattr(sys.modules[self.modname], self.attr) instead of referencing a<br>
>>> parent path object directly.<br>
>><br>
>> The problem isn't the lookup, it's coming up with self.modname and<br>
>> self.attr. As it currently stands, PathFinder.find_module is given the<br>
>> parent path, not the module name and attribute name used to look up the<br>
>> parent path using sys.modules and getattr.<br>
><br>
> Right, that's what PJE and I were discussing. Instead of passing in<br>
> the path object directly, you can instead pass an object that *lazily*<br>
> retrieves the path object in its __iter__ method:<br>
<br>
</div>Hey, one message at a time! I'm just reading those now.<br>
<br>
I'd like to hear Brett's comments on this approach.</blockquote><div><br></div><div>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.</div>