mirror of https://github.com/python/cpython
allow long ints to be marshalled as ints - no check is made to the incoming
value, so the programmer will have to catch OverflowError. I'm not sure what /F's perspective is on this. Perhaps it should be caught and mapped to an xmlrpclib-specific exception. None of the other type-specific dump methods seem to do any exception handling though.
This commit is contained in:
parent
22e94e2051
commit
5e9c71ba80
|
@ -33,6 +33,7 @@
|
||||||
# 2001-09-10 fl Lazy import of urllib, cgi, xmllib (20x import speedup)
|
# 2001-09-10 fl Lazy import of urllib, cgi, xmllib (20x import speedup)
|
||||||
# 2001-10-01 fl Remove containers from memo cache when done with them
|
# 2001-10-01 fl Remove containers from memo cache when done with them
|
||||||
# 2001-10-01 fl Use faster escape method (80% dumps speedup)
|
# 2001-10-01 fl Use faster escape method (80% dumps speedup)
|
||||||
|
# 2001-10-10 sm Allow long ints to be passed as ints if they don't overflow
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999-2001 by Secret Labs AB.
|
# Copyright (c) 1999-2001 by Secret Labs AB.
|
||||||
# Copyright (c) 1999-2001 by Fredrik Lundh.
|
# Copyright (c) 1999-2001 by Fredrik Lundh.
|
||||||
|
@ -464,6 +465,11 @@ class Marshaller:
|
||||||
self.write("<value><int>%s</int></value>\n" % value)
|
self.write("<value><int>%s</int></value>\n" % value)
|
||||||
dispatch[IntType] = dump_int
|
dispatch[IntType] = dump_int
|
||||||
|
|
||||||
|
def dump_long(self, value):
|
||||||
|
val = int(value)
|
||||||
|
self.write("<value><int>%s</int></value>\n" % val)
|
||||||
|
dispatch[LongType] = dump_long
|
||||||
|
|
||||||
def dump_double(self, value):
|
def dump_double(self, value):
|
||||||
self.write("<value><double>%s</double></value>\n" % value)
|
self.write("<value><double>%s</double></value>\n" % value)
|
||||||
dispatch[FloatType] = dump_double
|
dispatch[FloatType] = dump_double
|
||||||
|
|
Loading…
Reference in New Issue