summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/plugins/b_xmlrpc.py39
-rwxr-xr-xsimple-server.py46
2 files changed, 85 insertions, 0 deletions
diff --git a/ipalib/plugins/b_xmlrpc.py b/ipalib/plugins/b_xmlrpc.py
new file mode 100644
index 00000000..afe76505
--- /dev/null
+++ b/ipalib/plugins/b_xmlrpc.py
@@ -0,0 +1,39 @@
+# Authors:
+# Jason Gerard DeRose <jderose@redhat.com>
+#
+# Copyright (C) 2008 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; version 2 only
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+"""
+XML-RPC client plugin.
+
+Lightwieght XML-RPC client using Python standard library xmlrpclib.
+"""
+
+import xmlrpclib
+from ipalib.backend import Backend
+from ipalib import api
+
+class xmlrpc(Backend):
+ """
+ Kerberos backend plugin.
+ """
+
+ def get_client(self):
+ # FIXME: The server uri should come from self.api.env.server_uri
+ return xmlrpclib.ServerProxy('http://localhost:8080', allow_none=True)
+
+api.register(xmlrpc)
diff --git a/simple-server.py b/simple-server.py
new file mode 100755
index 00000000..b9de5798
--- /dev/null
+++ b/simple-server.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python
+
+# Authors:
+# Jason Gerard DeRose <jderose@redhat.com>
+#
+# Copyright (C) 2008 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; version 2 only
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+from SimpleXMLRPCServer import SimpleXMLRPCServer
+from ipalib import api
+from ipalib import load_plugins
+
+api.finalize()
+
+
+def test_func(*args, **kw):
+ 'A test function'
+ print args, kw
+ return '%s, %s' % (repr(args), repr(kw))
+
+def stuff(first, last):
+ 'Do stuff'
+ print first, last
+ return first + last
+
+server = SimpleXMLRPCServer(('localhost', 8080))
+server.register_introspection_functions()
+#server.register_function(test_func)
+#server.register_function(stuff)
+for cmd in api.Command():
+ server.register_function(cmd, cmd.name)
+
+server.serve_forever()