Tuesday, February 13, 2007

python xml-rpc, supporting 64-bit ints

xml-rpc is nice, but brain-dead in that it doesn't support 64-bit integers. (Update: I was just being polite.  xml-rpc is brain-dead all around). There are a couple of extensions to the xml-rpc standard that suggest a new tag for this. If you're using the python xml-rpc library and wish to have 64-bit int support, you can comment out the two lines below in xmlrpclib.py:
def dump_long(self, value, write):
    #if value > MAXINT or value <>
    # raise OverflowError, "long int exceeds XML-RPC limits"
    write("")
    write(str(int(value)))
    write("\n")
    dispatch[LongType] = dump_long