# 2001-02-26 fl Added compare support to wrappers (0.9.9/1.0b1)
# 2001-03-28 fl Make sure response tuple is a singleton
# 2001-03-29 fl Don't require empty params element (from Nicholas Riley)
-# 2001-06-10 fl Folded in _xmlrpclib accelerator support
+# 2001-06-10 fl Folded in _xmlrpclib accelerator support (1.0b2)
+# 2001-08-20 fl Base xmlrpclib.Error on built-in Exception (from Paul Prescod)
#
# Copyright (c) 1999-2001 by Secret Labs AB.
# Copyright (c) 1999-2001 by Fredrik Lundh.
def _stringify(string):
return string
-__version__ = "1.0b2"
+__version__ = "1.0b3"
# --------------------------------------------------------------------
# Exceptions
-class Error:
+class Error(Exception):
# base class for client errors
pass
class DateTime:
def __init__(self, value=0):
- t = type(value)
- if not isinstance(t, StringType):
- if not isinstance(t, TupleType):
+ if not isinstance(value, StringType):
+ if not isinstance(value, TupleType):
if value == 0:
value = time.time()
value = time.localtime(value)
write("</fault>\n")
else:
# parameter block
+ # FIXME: the xml-rpc specification allows us to leave out
+ # the entire <params> block if there are no parameters.
+ # however, changing this may break older code (including
+ # old versions of xmlrpclib.py), so this is better left as
+ # is for now. See @XMLRPC3 for more information. /F
write("<params>\n")
for v in values:
write("<param>\n")
def __repr__(self):
return (
- "<Server proxy for %s%s>" %
+ "<ServerProxy for %s%s>" %
(self.__host, self.__handler)
)
# note: to call a remote object with an non-standard name, use
# result getattr(server, "strange-python-name")(args)
+# compatibility
Server = ServerProxy
# --------------------------------------------------------------------
# simple test program (from the XML-RPC specification)
- # server = Server("http://localhost:8000") # local server
- server = Server("http://betty.userland.com")
+ # server = ServerProxy("http://localhost:8000") # local server
+ server = ServerProxy("http://betty.userland.com")
print server