@@ -181,36 +181,41 @@ def fixlongargs(f, argspec):
181181
182182def getpydocspec (f , func ):
183183 try :
184- docstring = pydoc .getdoc (f )
184+ argspec = pydoc .getdoc (f )
185185 except NameError :
186186 return None
187- s = getpydocspec_re .search (docstring )
187+
188+ s = getpydocspec_re .search (argspec )
188189 if s is None :
189190 return None
190191
191192 if not hasattr (f , '__name__' ) or s .groups ()[0 ] != f .__name__ :
192193 return None
193194
194- argspec = ArgSpec (list (), None , None , list (), list (), dict (), None )
195-
195+ args = list ()
196+ defaults = list ()
197+ varargs = varkwargs = None
198+ kwonly_args = list ()
199+ kwonly_defaults = dict ()
196200 for arg in s .group (2 ).split (',' ):
197201 arg = arg .strip ()
198202 if arg .startswith ('**' ):
199- argspec . varkwargs = arg [2 :]
203+ varkwargs = arg [2 :]
200204 elif arg .startswith ('*' ):
201- argspec . varargs = arg [1 :]
205+ varargs = arg [1 :]
202206 else :
203207 arg , _ , default = arg .partition ('=' )
204- if argspec . varargs is not None :
205- argspec . kwonly_args .append (arg )
208+ if varargs is not None :
209+ kwonly_args .append (arg )
206210 if default :
207- argspec . kwonly_defaults [arg ] = default
211+ kwonly_defaults [arg ] = default
208212 else :
209- argspec . args .append (arg )
213+ args .append (arg )
210214 if default :
211- argspec . defaults .append (default )
215+ defaults .append (default )
212216
213- return argspec
217+ return ArgSpec (args , varargs , varkwargs , default , kwonly_args ,
218+ kwonly_defaults , None )
214219
215220
216221def getfuncprops (func , f ):
0 commit comments