summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2014-02-18 23:34:04 +0100
committerManuel Traut <manut@mecka.net>2014-02-18 23:34:04 +0100
commitde1b78ee51ee99165c7ad1030cc13a24fd05e394 (patch)
treef57bc10e68f445a1be39237135fcbe456da441c1
parent47c3e5d12b1f79de872301de840f41ad58ec326e (diff)
middleware: add a python xmlrpc example
xmlrpc is supported by the python stdlib so let's play around with it! Signed-off-by: Manuel Traut <manut@mecka.net>
-rwxr-xr-xframeworks/middleware/examples/xmlrpc/client.py14
-rwxr-xr-xframeworks/middleware/examples/xmlrpc/server.py21
2 files changed, 35 insertions, 0 deletions
diff --git a/frameworks/middleware/examples/xmlrpc/client.py b/frameworks/middleware/examples/xmlrpc/client.py
new file mode 100755
index 0000000..2b466b7
--- /dev/null
+++ b/frameworks/middleware/examples/xmlrpc/client.py
@@ -0,0 +1,14 @@
+#!/usr/bin/python
+
+import xmlrpclib
+from datetime import datetime
+
+proxy = xmlrpclib.ServerProxy ("http://localhost:8000/")
+
+today = proxy.today ()
+# today = 20140218T14:23:45
+converted = datetime.strptime (today.value, "%Y%m%dT%H:%M:%S")
+print "Today: %s" % converted.strftime ("%d.%m.%Y, %H:%M")
+
+load = proxy.load ()
+print "system load:", load
diff --git a/frameworks/middleware/examples/xmlrpc/server.py b/frameworks/middleware/examples/xmlrpc/server.py
new file mode 100755
index 0000000..ebde5ee
--- /dev/null
+++ b/frameworks/middleware/examples/xmlrpc/server.py
@@ -0,0 +1,21 @@
+#!/usr/bin/python
+
+from datetime import datetime
+from SimpleXMLRPCServer import SimpleXMLRPCServer
+import xmlrpclib
+
+def today ():
+ today = datetime.today ()
+ return xmlrpclib.DateTime (today)
+
+def load ():
+ fd = open ("/proc/loadavg", "r")
+ loadavg = fd.read ()
+ sysload = loadavg.split ()
+ return xmlrpclib.FloatType (sysload[0])
+
+server = SimpleXMLRPCServer (("localhost", 8000))
+server.register_function (today, "today")
+server.register_function (load, "load")
+print "Listening on port 8000..."
+server.serve_forever ()