aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xplugins/proxy.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/plugins/proxy.py b/plugins/proxy.py
index d70a967a5..e8782e6e4 100755
--- a/plugins/proxy.py
+++ b/plugins/proxy.py
@@ -158,15 +158,23 @@ class _IkiWikiExtPluginXMLRPCHandler(object):
def send_rpc(self, cmd, in_fd, out_fd, *args, **kwargs):
xml = _xmlrpc_client.dumps(sum(kwargs.items(), args), cmd)
self._debug_fn(
- "calling ikiwiki procedure `{0}': [{1}]".format(cmd, xml))
- _IkiWikiExtPluginXMLRPCHandler._write(out_fd, xml.encode('utf8'))
+ "calling ikiwiki procedure `{0}': [{1}]".format(cmd, repr(xml)))
+ if isinstance(xml, unicode):
+ encoded = xml.encode('utf8')
+ else:
+ encoded = xml
+ _IkiWikiExtPluginXMLRPCHandler._write(out_fd, encoded)
self._debug_fn('reading response from ikiwiki...')
- xml = _IkiWikiExtPluginXMLRPCHandler._read(in_fd).decode('utf8')
+ response = _IkiWikiExtPluginXMLRPCHandler._read(in_fd)
+ if isinstance(response, unicode):
+ xml = response.encode('utf8')
+ else:
+ xml = response
self._debug_fn(
'read response to procedure {0} from ikiwiki: [{1}]'.format(
- cmd, xml))
+ cmd, repr(xml)))
if xml is None:
# ikiwiki is going down
self._debug_fn('ikiwiki is going down, and so are we...')