This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tormen
Recipients brian.curtin, tormen
Date 2010-03-11.16:47:05
SpamBayes Score 6.9477182e-06
Marked as misclassified No
Message-id <>
Okey ...

Consider you have a function:
def fn( str:str ): pass

That you register to your DocXMLRPCServer:
register_function of SimpleXMLRPCDispatcher stores the function object  in the dictionary self.funcs under the name of the function (as key).

Then you start your server and access (with a browser) the ip and port of the machine running your xmlrpc server which calls
> DocXMLRPCRequestHandler.do_GET which
> generate_html_documenation() which copies the funcs dictionary into methods and hands it to
> ServerHTMLDoc.docserver which calls for each function name + function object:
> ServerHTMLDoc.docroutine which calls (for inspect.ismethod and inspect.isfunction):

inspect.getargspec on the function object

which will fail if you register an annotated function (like the above "fn") in the first place:
  File "/usr/lib/python3.1/", line 789, in getargspec
    raise ValueError("Function has keyword-only arguments or annotations"
ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them

Which most probably leads to the conclusion that you should just use the getfullargspec instead of getargspec just to avoid that the XMLRPC server crashes if someone registers a annotated function.
Date User Action Args
2010-03-11 16:47:08tormensetrecipients: + tormen, brian.curtin
2010-03-11 16:47:08tormensetmessageid: <>
2010-03-11 16:47:07tormenlinkissue8112 messages
2010-03-11 16:47:05tormencreate