partially revert 154c4ea9e
explicitly en- and decoding xmlrpc requests in the python proxy broke plugins on debian sid, while it was introduced to fix breakage in debian stable. it is assumed that an xml module involved changed its behavior from str to unicode, this patch handles both cases.master
parent
c41d47cff0
commit
81506fae8a
|
@ -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...')
|
||||
|
|
Loading…
Reference in New Issue