@@ -185,8 +185,7 @@ def fixlongargs(f: Callable, argspec: ArgSpec) -> ArgSpec:
185
185
# IndexError is raised in inspect.findsource(), can happen in
186
186
# some situations. See issue #94.
187
187
return argspec
188
- signature = "" .join (src [0 ])
189
- kwparsed = parsekeywordpairs (signature )
188
+ kwparsed = parsekeywordpairs ("" .join (src [0 ]))
190
189
191
190
for i , (key , value ) in enumerate (zip (keys , values )):
192
191
if len (repr (value )) != len (kwparsed [key ]):
@@ -201,7 +200,7 @@ def fixlongargs(f: Callable, argspec: ArgSpec) -> ArgSpec:
201
200
)
202
201
203
202
204
- def getpydocspec ( f , func ) :
203
+ def _getpydocspec ( f : Callable ) -> Optional [ ArgSpec ] :
205
204
try :
206
205
argspec = pydoc .getdoc (f )
207
206
except NameError :
@@ -218,7 +217,7 @@ def getpydocspec(f, func):
218
217
defaults = []
219
218
varargs = varkwargs = None
220
219
kwonly_args = []
221
- kwonly_defaults = dict ()
220
+ kwonly_defaults = {}
222
221
for arg in s .group (2 ).split ("," ):
223
222
arg = arg .strip ()
224
223
if arg .startswith ("**" ):
@@ -266,15 +265,14 @@ def getfuncprops(func: str, f: Callable) -> Optional[FuncProps]:
266
265
return None
267
266
try :
268
267
argspec = _get_argspec_from_signature (f )
269
- argspec = fixlongargs (f , argspec )
270
- fprops = FuncProps (func , argspec , is_bound_method )
268
+ fprops = FuncProps (func , fixlongargs (f , argspec ), is_bound_method )
271
269
except (TypeError , KeyError , ValueError ):
272
- argspec = getpydocspec ( f , func )
273
- if argspec is None :
270
+ argspec_pydoc = _getpydocspec ( f )
271
+ if argspec_pydoc is None :
274
272
return None
275
273
if inspect .ismethoddescriptor (f ):
276
- argspec .args .insert (0 , "obj" )
277
- fprops = FuncProps (func , argspec , is_bound_method )
274
+ argspec_pydoc .args .insert (0 , "obj" )
275
+ fprops = FuncProps (func , argspec_pydoc , is_bound_method )
278
276
return fprops
279
277
280
278
0 commit comments