Skip to content

Commit a743920

Browse files
committed
remove deprecation warning in inspect module
method getargspec was deprecated in python3 and method getfullargspec was deprecated until python3.6 in favour of signature method
1 parent 1341fbe commit a743920

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

bpython/curtsiesfrontend/manual_readline.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,15 @@
1010

1111
import inspect
1212
from six import iteritems
13+
from bpython._py3compat import py3
1314

1415
INDENT = 4
1516

1617
# TODO Allow user config of keybindings for these actions
18+
if py3:
19+
getargspec = lambda func: inspect.getargspec(func)[0]
20+
else:
21+
getargspec = lambda func: inspect.signature(func).parameters
1722

1823

1924
class AbstractEdits(object):
@@ -38,7 +43,7 @@ def add(self, key, func, overwrite=False):
3843
del self[key]
3944
else:
4045
raise ValueError('key %r already has a mapping' % (key,))
41-
params = inspect.getargspec(func)[0]
46+
params = getargspec(func)
4247
args = dict((k, v) for k, v in iteritems(self.default_kwargs)
4348
if k in params)
4449
r = func(**args)
@@ -64,7 +69,7 @@ def add_config_attr(self, config_attr, func):
6469

6570
def call(self, key, **kwargs):
6671
func = self[key]
67-
params = inspect.getargspec(func)[0]
72+
params = getargspec(func)
6873
args = dict((k, v) for k, v in kwargs.items() if k in params)
6974
return func(**args)
7075

0 commit comments

Comments
 (0)