diff options
Diffstat (limited to 'raw_building.py')
-rw-r--r-- | raw_building.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/raw_building.py b/raw_building.py index feded4e9..08f6af6d 100644 --- a/raw_building.py +++ b/raw_building.py @@ -25,6 +25,7 @@ import sys from os.path import abspath from inspect import (getargspec, isdatadescriptor, isfunction, ismethod, ismethoddescriptor, isclass, isbuiltin, ismodule) +import six from astroid.node_classes import CONST_CLS from astroid.nodes import (Module, Class, Const, const_factory, From, @@ -250,10 +251,11 @@ class InspectBuilder(object): attach_dummy_node(node, name) continue if ismethod(member): - member = member.im_func + member = six.get_method_function(member) if isfunction(member): # verify this is not an imported function - filename = getattr(member.func_code, 'co_filename', None) + filename = getattr(six.get_function_code(member), + 'co_filename', None) if filename is None: assert isinstance(member, object) object_build_methoddescriptor(node, member, name) @@ -264,8 +266,6 @@ class InspectBuilder(object): 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 object_build_methoddescriptor(node, member, name) elif isclass(member): @@ -302,7 +302,7 @@ class InspectBuilder(object): modname = getattr(member, '__module__', None) except: # XXX use logging - print 'unexpected error while building astroid from living object' + print('unexpected error while building astroid from living object') import traceback traceback.print_exc() modname = None |