diff options
-rw-r--r-- | astroid/brain/py2gi.py | 2 | ||||
-rw-r--r-- | astroid/brain/pysix_moves.py | 2 | ||||
-rw-r--r-- | astroid/nodes.py | 7 | ||||
-rw-r--r-- | astroid/scoped_nodes.py | 9 | ||||
-rw-r--r-- | astroid/test_utils.py | 1 | ||||
-rw-r--r-- | tox.ini | 4 |
6 files changed, 17 insertions, 8 deletions
diff --git a/astroid/brain/py2gi.py b/astroid/brain/py2gi.py index 30a178ca..e5c8174d 100644 --- a/astroid/brain/py2gi.py +++ b/astroid/brain/py2gi.py @@ -168,7 +168,7 @@ def _looks_like_require_version(node): return False func = node.func - if isinstance(func, nodes.Getattr): + if isinstance(func, nodes.Attribute): if func.attrname != 'require_version': return False if isinstance(func.expr, nodes.Name) and func.expr.name == 'gi': diff --git a/astroid/brain/pysix_moves.py b/astroid/brain/pysix_moves.py index f216ae7b..9596a6c8 100644 --- a/astroid/brain/pysix_moves.py +++ b/astroid/brain/pysix_moves.py @@ -268,7 +268,7 @@ def transform_six_add_metaclass(node): return for decorator in node.decorators.nodes: - if not isinstance(decorator, nodes.CallFunc): + if not isinstance(decorator, nodes.Call): continue try: diff --git a/astroid/nodes.py b/astroid/nodes.py index 45b8e37a..d74effd0 100644 --- a/astroid/nodes.py +++ b/astroid/nodes.py @@ -38,7 +38,7 @@ on ImportFrom and Import : __docformat__ = "restructuredtext en" -import lazy_object_proxy +import wrapt from astroid.node_classes import ( Arguments, AssignAttr, Assert, Assign, @@ -82,7 +82,7 @@ ALL_NODE_CLASSES = ( # Backward-compatibility aliases def proxy_alias(alias_name, node_type): - proxy = type(alias_name, (lazy_object_proxy.Proxy,), + proxy = type(alias_name, (wrapt.ObjectProxy,), {'__class__': object.__dict__['__class__']}) return proxy(node_type) @@ -90,8 +90,9 @@ Backquote = proxy_alias('Backquote', Repr) Discard = proxy_alias('Discard', Expr) AssName = proxy_alias('AssName', AssignName) AssAttr = proxy_alias('AssAttr', AssignAttr) -GetAttr = proxy_alias('GetAttr', Attribute) +Getattr = proxy_alias('Getattr', Attribute) CallFunc = proxy_alias('CallFunc', Call) Class = proxy_alias('Class', ClassDef) Function = proxy_alias('Function', FunctionDef) GenExpr = proxy_alias('GenExpr', GeneratorExp) +From = proxy_alias('From', ImportFrom) diff --git a/astroid/scoped_nodes.py b/astroid/scoped_nodes.py index 74cf42a7..592c984c 100644 --- a/astroid/scoped_nodes.py +++ b/astroid/scoped_nodes.py @@ -1619,3 +1619,12 @@ class ClassDef(bases.Statement, LocalsDictNodeNG, mixins.FilterStmtsMixin): def bool_value(self): return True + + +# Hack to get Pylint working without changing code. +import wrapt +def proxy_alias(alias_name, node_type): + proxy = type(alias_name, (wrapt.ObjectProxy,), + {'__class__': object.__dict__['__class__']}) + return proxy(node_type) +GenExpr = proxy_alias('GenExpr', GeneratorExp) diff --git a/astroid/test_utils.py b/astroid/test_utils.py index c1d63f17..cb2ab6f4 100644 --- a/astroid/test_utils.py +++ b/astroid/test_utils.py @@ -158,7 +158,6 @@ def extract_node(code, module_name=''): tree = builder.parse(code, module_name=module_name) extracted = [] - # print(as_string.dump(tree)) if requested_lines: for line in requested_lines: extracted.append(_find_statement_by_line(tree, line)) @@ -5,17 +5,17 @@ envlist = py27, py34, pylint [testenv:pylint]
deps =
- lazy-object-proxy
logilab-common
six
+ wrapt
hg+https://bitbucket.org/logilab/astroid
hg+https://bitbucket.org/logilab/pylint
commands = pylint -rn --rcfile={toxinidir}/pylintrc {envsitepackagesdir}/astroid
[testenv]
deps =
- lazy-object-proxy
logilab-common
six
+ wrapt
commands = python -m unittest discover -s {envsitepackagesdir}/astroid/tests -p "unittest*.py"
|