summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Myint <git@stevenmyint.com>2015-07-14 18:01:03 -0700
committerSteven Myint <git@stevenmyint.com>2015-07-14 18:01:03 -0700
commitd48eef071003952ed0f98445dc3dc6bc29618f9c (patch)
tree77d6d970f167bca00d6ca106e90f7c517f1f4831
parent067a3213dd3533a2b44b4e3bb5d5645e3e5724f8 (diff)
downloadpep8-d48eef071003952ed0f98445dc3dc6bc29618f9c.tar.gz
Generalize deprecation avoidance
-rwxr-xr-xpep8.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/pep8.py b/pep8.py
index e9bc584..34ce07a 100755
--- a/pep8.py
+++ b/pep8.py
@@ -1314,6 +1314,13 @@ if COMMENT_WITH_NL:
_checks = {'physical_line': {}, 'logical_line': {}, 'tree': {}}
+def _get_parameters(function):
+ if sys.version_info >= (3, 3):
+ return list(inspect.signature(function).parameters)
+ else:
+ return inspect.getargspec(function)[0]
+
+
def register_check(check, codes=None):
"""Register a new check object."""
def _add_check(check, kind, codes, args):
@@ -1322,18 +1329,13 @@ def register_check(check, codes=None):
else:
_checks[kind][check] = (codes or [''], args)
if inspect.isfunction(check):
- args = inspect.getargspec(check)[0]
+ args = _get_parameters(check)
if args and args[0] in ('physical_line', 'logical_line'):
if codes is None:
codes = ERRORCODE_REGEX.findall(check.__doc__ or '')
_add_check(check, args[0], codes, args)
elif inspect.isclass(check):
- if sys.version_info >= (3, 3):
- parameters = list(inspect.signature(check.__init__).parameters)
- else:
- parameters = inspect.getargspec(check.__init__)[0]
-
- if parameters[:2] == ['self', 'tree']:
+ if _get_parameters(check.__init__)[:2] == ['self', 'tree']:
_add_check(check, 'tree', codes, None)