Export to GitHub

python-blogger - issue #6

All xml-rpc parameters are wrapped in an extra layer of array


Posted on Apr 16, 2011 by Quick Hippo

In Blog.execute(), line 91, you call the xmlrpc proxy with args as an array:

        r = getattr(self.server, methodname)(args)

This causes the method to be called with a single <array>param1, param2, ...</array> parameter containing the individual parameters rather than the individual parameters directly (<param>param1</param>, <param>param2</param>, ...).

This call should be:

        r = getattr(self.server, methodname)(*args)

so the underlying xmlrpc call uses the parameters exactly as passed.

Interestingly, I found that when calling the WordPress API, WordPress handles the call correctly either way. Internally, it must see there is a single array parameter and unwrap it. However, when calling a different metaweblogs service, the parameters were not interpreted correctly as an array. I checked the spec, and the non-array version is correct as far as I can tell.

Status: New

Labels:
Type-Defect Priority-Medium