From 66d79f5097cc4ae5869eed47bc4de6e31720c426 Mon Sep 17 00:00:00 2001 From: Winterstream Date: Sat, 17 Nov 2007 23:33:54 +0000 Subject: [PATCH] Split the web app into a client/server system git-svn-id: https://apertium.svn.sourceforge.net/svnroot/apertium@2477 72bbbca6-d526-0410-a7d9-f06f51895060 --- apertium-forms-server/forms.py | 12 +++++------- branches/Winterstream/xml_db.py | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 branches/Winterstream/xml_db.py diff --git a/apertium-forms-server/forms.py b/apertium-forms-server/forms.py index ec6c8a86..c23e6055 100644 --- a/apertium-forms-server/forms.py +++ b/apertium-forms-server/forms.py @@ -2,17 +2,15 @@ # coding=utf-8 # -*- encoding: utf-8 -*- +import xmlrpclib; import web; -from config import Config; -from pair import Pair; + +serv = xmlrpclib.Server('http://localhost:8081'); class Globals: #{ counter = 0; - config = Config('config/config.xml'); #} -Globals.config.parse_config(); - render = web.template.render('templates/'); urls = ( @@ -23,7 +21,7 @@ urls = ( class form: #{ def GET(self, name): #{ - pairs = Globals.config.get_pairs().keys(); + pairs = serv.language_pairs(); post_data = {'selected_pair': 'apertium-es-gl'}; print render.index(pairs, post_data, cache=False); #} @@ -35,7 +33,7 @@ class add: #{ post_data = web.input(name = []); print dir(post_data); print post_data - pairs = Globals.config.get_pairs().keys(); + pairs = serv.language_pairs(); print render.index(pairs, post_data, cache=False); #} #} diff --git a/branches/Winterstream/xml_db.py b/branches/Winterstream/xml_db.py new file mode 100644 index 00000000..aa0eb9a5 --- /dev/null +++ b/branches/Winterstream/xml_db.py @@ -0,0 +1,43 @@ +#!/usr/bin/python2.5 -Wall +# coding=utf-8 +# -*- encoding: utf-8 -*- + +from config import Config; +from SimpleXMLRPCServer import SimpleXMLRPCServer; + +import sys; +import codecs; +sys.stdout = codecs.getwriter('utf-8')(sys.stdout); +sys.stderr = codecs.getwriter('utf-8')(sys.stderr); + +class Globals: #{ + counter = 0; + config = Config('config/config.xml'); +#} + +Globals.config.parse_config(); + +# Create server +server = SimpleXMLRPCServer(("localhost", 8081), allow_none = True); +server.register_introspection_functions(); + +def rpc_export(server, name = None): #{ + def decorator(f): #{ + if name != None: + server.register_function(f, name) + else: + server.register_function(f) + return f + #} + + return decorator +#} + +@rpc_export(server) +def language_pairs(): #{ + return Globals.config.get_pairs().keys(); +#} + +if __name__ == '__main__': #{ + server.serve_forever() +#} -- 2.11.4.GIT