[Soap-Python] Small error running rpclib under python3 - found and fixed

Burak Arslan burak.arslan at arskom.com.tr
Wed Dec 7 17:53:43 CET 2011


On 06.12.2011 10:28, Frank Millman wrote:
> Hopefully this is useful information. I will be happy to take this further
> if you would like.


Hi Frank,

Thank you very much for providing these clues, appreciated.

So, I've done most of the grunt work for Python3 migration. 2to3 is a 
stupid tool, so I run every option to --fix one by one and studied their 
output. I manually patched rpclib where I didn't like the changes, and 
distilled a safe-to-run subset in 2to3.sh.

Fwiw, I don't plan to do this the way Django people did and run rpclib 
from the same code base for both python-2 and python-3. Rpclib will need 
to be packed two times for two python versions. could you patch setup.py 
for it? i don't think I'll have time anytime soon for that.

As of db2f7a1 in my personal fork, I got the binary_soap and binary_http 
examples to work. running suds from python2 environment works just fine.

As for the ''.join(whatever) issues you kept hitting on, i think the 
strategy is to get rid of them using [v.(encode|decode)('encoding') for 
v in whatever] but it's all context-dependent. see 240908f for a few tricks.

Your way of doing list(whatever)[0] breaks some promises in the 
interface design, so it's not the right thing to do.

Thank you very much for your time, and I hope these help.

Best Regards,
Burak




More information about the Soap mailing list