diff options
author | martin f. krafft <madduck@madduck.net> | 2008-03-12 14:23:09 +0100 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-03-12 10:46:36 -0400 |
commit | 8a43597a00e561ecab541069661090947ae79899 (patch) | |
tree | 37087ba8129e8a2d80a11276e0612fc4e9beb413 | |
parent | 2fa9da9f1697346526ea667ae606a1521f40037f (diff) | |
download | ikiwiki-8a43597a00e561ecab541069661090947ae79899.tar ikiwiki-8a43597a00e561ecab541069661090947ae79899.tar.gz |
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 <madduck@madduck.net>
-rw-r--r-- | doc/bugs/rst_plugin_traceback_with_SimpleXMLRPCDispatcher_from_pyhton_2.5.mdwn | 2 | ||||
-rwxr-xr-x | 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)) |