From 4eabd8b7da403faed1a3d7d33e869d5d2f84598a Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Thu, 24 Aug 2017 21:54:56 -0400 Subject: [PATCH] py3 fixes for xmlrpcplus --- koji/xmlrpcplus.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/koji/xmlrpcplus.py b/koji/xmlrpcplus.py index e8d4959c..7af122df 100644 --- a/koji/xmlrpcplus.py +++ b/koji/xmlrpcplus.py @@ -33,7 +33,7 @@ class ExtendedMarshaller(xmlrpc_client.Marshaller): MAXI8 = 2 ** 64 - 1 MINI8 = -2 ** 64 - def dump_i8(self, value, write): + def dump_int(self, value, write): # python2's xmlrpclib doesn't support i8 extension for marshalling, # but can unmarshall it correctly. if (value > self.MAXI8 or value < self.MINI8): @@ -47,8 +47,7 @@ class ExtendedMarshaller(xmlrpc_client.Marshaller): write("") write(str(int(value))) write("\n") - dispatch[types.LongType] = dump_i8 - dispatch[types.IntType] = dump_i8 + dispatch[int] = dump_int # we always want to allow None def dump_nil(self, value, write): @@ -56,6 +55,11 @@ class ExtendedMarshaller(xmlrpc_client.Marshaller): dispatch[type(None)] = dump_nil +if six.PY2: + ExtendedMarshaller.dispatch[long] = ExtendedMarshaller.dump_int + + + def dumps(params, methodname=None, methodresponse=None, encoding=None, allow_none=1, marshaller=None): """encode an xmlrpc request or response