diff options
author | cpopa <devnull@localhost> | 2014-02-03 11:08:00 +0200 |
---|---|---|
committer | cpopa <devnull@localhost> | 2014-02-03 11:08:00 +0200 |
commit | aff33d0a6ba661cef3ad6f830ec6996952d69177 (patch) | |
tree | 4530f66cfd3f6559b95f44b47fe385f2eca8040f | |
parent | dc15696c0abf911eaabb4a1b9fb28c8d31c0f46c (diff) | |
download | astroid-aff33d0a6ba661cef3ad6f830ec6996952d69177.tar.gz |
Workaround for _io module, having __module__ as `io`.
-rw-r--r-- | raw_building.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/raw_building.py b/raw_building.py index 756bec1..56d07c0 100644 --- a/raw_building.py +++ b/raw_building.py @@ -35,6 +35,12 @@ MANAGER = AstroidManager() _CONSTANTS = tuple(CONST_CLS) # the keys of CONST_CLS eg python builtin types +def _io_discrepancy(member): + 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 +255,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 |