##// END OF EJS Templates
MNT: use back-ported signature on py2
Thomas A Caswell -
Show More
@@ -843,21 +843,22 b' class IPCompleter(Completer):'
843 getattr(call_obj, '__doc__', ''))
843 getattr(call_obj, '__doc__', ''))
844
844
845 if PY3:
845 if PY3:
846 _keepers = (inspect.Parameter.KEYWORD_ONLY,
846 _keeps = (inspect.Parameter.KEYWORD_ONLY,
847 inspect.Parameter.POSITIONAL_OR_KEYWORD)
847 inspect.Parameter.POSITIONAL_OR_KEYWORD)
848 try:
848 signature = inspect.signature
849 sig = inspect.signature(call_obj)
850 ret.extend(k for k, v in sig.parameters.items() if
851 v.kind in _keepers)
852 except ValueError:
853 pass
854 else:
849 else:
855 try:
850 import IPython.utils.signatures
856 args, _, _1, defaults = inspect.getargspec(call_obj)
851 _keeps = (IPython.utils.signatures.Parameter.KEYWORD_ONLY,
857 if defaults:
852 IPython.utils.signatures.Parameter.POSITIONAL_OR_KEYWORD)
858 ret += args[-len(defaults):]
853 signature = IPython.utils.signatures.signature
859 except TypeError:
854
860 pass
855 try:
856 sig = signature(call_obj)
857 ret.extend(k for k, v in sig.parameters.items() if
858 v.kind in _keeps)
859 except ValueError:
860 pass
861
861 return list(set(ret))
862 return list(set(ret))
862
863
863 def python_func_kw_matches(self,text):
864 def python_func_kw_matches(self,text):
General Comments 0
You need to be logged in to leave comments. Login now