diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-10-07 23:01:11 -0600 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-10-07 23:01:11 -0600 |
commit | ac9597ddcbfed317b9622e4d2e7145555e4e9873 (patch) | |
tree | a249c6e864c853d0b7aa92b4be3919417994c76b /lite-xmlrpc.py | |
parent | 6489e4f3480e934893c5c18d1f6c34fd96f46479 (diff) | |
download | freeipa-ac9597ddcbfed317b9622e4d2e7145555e4e9873.tar.gz freeipa-ac9597ddcbfed317b9622e4d2e7145555e4e9873.tar.xz freeipa-ac9597ddcbfed317b9622e4d2e7145555e4e9873.zip |
Renamed webui-cherry.py, simple-server.py to lite-webui.py, lite-xmlrpc.py respectively
Diffstat (limited to 'lite-xmlrpc.py')
-rwxr-xr-x | lite-xmlrpc.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lite-xmlrpc.py b/lite-xmlrpc.py new file mode 100755 index 00000000..6d29d74a --- /dev/null +++ b/lite-xmlrpc.py @@ -0,0 +1,51 @@ +#!/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 + +""" +A simple XML-RPC test server using SimpleXMLRPCServer. + +The server will run at http://localhost:8080 +""" + +from SimpleXMLRPCServer import SimpleXMLRPCServer +from ipalib.util import xmlrpc_unmarshal +from ipalib import api +from ipalib import load_plugins + +api.env.server_context = True +api.finalize() + +class Dispatch(object): + def __init__(self, cmd): + self.__cmd = cmd + + def __call__(self, *params): + print 'dispatch: %s%r' % (self.__cmd.name, params) + (args, kw) = xmlrpc_unmarshal(*params) + return self.__cmd(*args, **kw) + + +server = SimpleXMLRPCServer(('localhost', 8880), allow_none=True) +server.register_introspection_functions() +for cmd in api.Command(): + server.register_function(Dispatch(cmd), cmd.name) + +server.serve_forever() |