On Sun, Nov 30, 2014 at 6:15 AM, Brett Cannon wrote:
On Sat, Nov 29, 2014, 21:55 Guido van Rossum wrote:
All the use cases seem to be about adding some kind of getattr hook
to modules. They all seem to involve modifying the CPython C code
anyway. So why not tackle that problem head-on and modify module_getattro()
to look for a global named __getattr__ and if it exists, call that instead
of raising AttributeError?
Not sure if anyone thought of it. :) Seems like a reasonable solution to me.
Be curious to know what the benchmark suite said the impact was.
Why would there be any impact? The __getattr__ hook would be similar to the
one on classes -- it's only invoked at the point where otherwise AttributeError
would be raised.