commit | 63c141cacd0d655647430fe4b6a10c22d355aef2 | [log] [tgz] |
---|---|---|
author | Ethan Furman <ethan@stoneleaf.us> | Fri Oct 18 00:27:39 2013 -0700 |
committer | Ethan Furman <ethan@stoneleaf.us> | Fri Oct 18 00:27:39 2013 -0700 |
tree | 74d992cc1102dd4a538ed9d027e7b3aec0d045af | |
parent | 0e0cd46227bb3e95cc6395ef514bf13f0d30c668 [diff] |
Close #19030: inspect.getmembers and inspect.classify_class_attrs Order of search is now: 1. Try getattr 2. If that throws an exception, check __dict__ directly 3. If still not found, walk the mro looking for the eldest class that has the attribute (e.g. things returned by __getattr__) 4. If none of that works (e.g. due to a buggy __dir__, __getattr__, etc. method or missing __slot__ attribute), ignore the attribute entirely.