diff options
| -rw-r--r-- | raw_building.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/raw_building.py b/raw_building.py index 756bec11..9e850559 100644 --- a/raw_building.py +++ b/raw_building.py @@ -35,6 +35,13 @@ MANAGER = AstroidManager() _CONSTANTS = tuple(CONST_CLS) # the keys of CONST_CLS eg python builtin types +def _io_discrepancy(member): + # _io module names itself `io`: http://bugs.python.org/issue18602 + member_self = getattr(member, '__self__', None) + return (member_self and + member_self.__name__ == '_io' and + member.__module__ == 'io') + def _attach_local_node(parent, node, name): node.name = name # needed by add_local_node parent.add_local_node(node) @@ -249,8 +256,9 @@ class InspectBuilder(object): attach_dummy_node(node, name, member) else: object_build_function(node, member, name) - elif isbuiltin(member): - if self.imported_member(node, member, name): + elif isbuiltin(member): + if (not _io_discrepancy(member) and + self.imported_member(node, member, name)): #if obj is object: # print 'skippp', obj, name, member continue |
