summaryrefslogtreecommitdiff
path: root/rpc.py
diff options
context:
space:
mode:
authormartin.von.loewis <devnull@localhost>2009-03-07 10:24:34 +0000
committermartin.von.loewis <devnull@localhost>2009-03-07 10:24:34 +0000
commit54a4ab3637ab8487d525754722f31fbb5166178b (patch)
treeecf597eacefc1e6d7179b50f2a0c286ab2187d11 /rpc.py
parent3287d3253eaf08d0106be69ea65c1431bc096204 (diff)
downloaddecorator-54a4ab3637ab8487d525754722f31fbb5166178b.tar.gz
Support XML-RPC marshalling of mx.DateTime.
Diffstat (limited to 'rpc.py')
-rw-r--r--rpc.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/rpc.py b/rpc.py
index 8cac840..5817d4f 100644
--- a/rpc.py
+++ b/rpc.py
@@ -6,6 +6,14 @@ allowed = ('package_releases', 'package_urls', 'package_data',
'search', 'list_packages', 'release_urls', 'release_data',
'updated_releases', 'changelog', 'post_cheesecake_for_release')
+# monkey-patch xmlrpclib to marshal mx.DateTime correctly.
+import mx.DateTime
+def dump_DateTime(self, value, write):
+ write("<value><dateTime.iso8601>")
+ write(value.strftime("%Y%m%dT%H:%M:%S"))
+ write("</dateTime.iso8601></value>\n")
+xmlrpclib.Marshaller.dispatch[mx.DateTime.DateTimeType] = dump_DateTime
+
def handle_request(webui_obj):
webui_obj.handler.send_response(200, 'OK')
webui_obj.handler.send_header('Content-type', 'text/xml')