From 8a43597a00e561ecab541069661090947ae79899 Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Wed, 12 Mar 2008 14:23:09 +0100 Subject: [PATCH] Handle SimpleXMLRPCDispatcher arg count change in Py2.5 SimpleXMLRPCDispatcher.__init__ takes 3 arguments instead of 1 since python 2.5, so we check for that with a hack, for I found no better way, other than catching a TypeError exception. Signed-off-by: martin f. krafft --- ...eback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn | 2 ++ plugins/rst | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/bugs/rst_plugin_traceback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn b/doc/bugs/rst_plugin_traceback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn index 95f7b44bd..9997d383b 100644 --- a/doc/bugs/rst_plugin_traceback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn +++ b/doc/bugs/rst_plugin_traceback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn @@ -9,3 +9,5 @@ After adding rst to plugins, ikiwiki --setup fails: This is ikiwiki version 2.40 and [SimpleXMLRPCServer.py](http://svn.python.org/view/python/tags/r25/Lib/SimpleXMLRPCServer.py?rev=51918&view=markup) from python-2.5 + +[[done]] diff --git a/plugins/rst b/plugins/rst index abf835e2e..1d18dd775 100755 --- a/plugins/rst +++ b/plugins/rst @@ -61,8 +61,12 @@ def rpc_call(cmd, **kwargs): class SimpleStdinOutXMLRPCHandler(SimpleXMLRPCDispatcher): - def __init__(self): - SimpleXMLRPCDispatcher.__init__(self) + def __init__(self, allow_none=False, encoding=None): + if SimpleXMLRPCDispatcher.__init__.func_code.co_argcount == 1: + # python2.4 and before only took one argument + SimpleXMLRPCDispatcher.__init__(self) + else: + SimpleXMLRPCDispatcher.__init__(self, allow_none, encoding) def process_request(self, req): write(self._marshaled_dispatch(req))