Package app :: Package autoranking :: Module xmlrpcserver
[hide private]
[frames] | no frames]

Source Code for Module app.autoranking.xmlrpcserver

 1  from SimpleXMLRPCServer import SimpleXMLRPCServer 
 2  from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler 
 3  from app.autoranking.application import Autoranking 
 4   
 5  # Restrict to a particular path. 
6 -class RequestHandler(SimpleXMLRPCRequestHandler):
7 rpc_paths = ('/RPC2',)
8 9 # Create ranker 10 classifier_filename = "/share/taraxu/selection-mechanism/wmt13/sentenceranking/autoranking_wmt13_newfeatures1_de_en/class_nameranklangpairde-eninclude_references0.0ties0.0trainset_modeannotatedattattset_24classifierLogReg/classifier.clsf" 11 configfilenames = [ 12 '/home/Eleftherios Avramidis/workspace/qualitative/src/app/autoranking/config/pipeline.cfg', 13 '/home/Eleftherios Avramidis/workspace/qualitative/src/app/autoranking/config/pipeline.wmt13metric.blade6.de.de-en.cfg' 14 ] 15 16 # Create 17 autoranker = Autoranking(configfilenames, classifier_filename) 18 server = SimpleXMLRPCServer(("lns-87004.sb.dfki.de", 8089), 19 requestHandler=RequestHandler) 20 server.register_introspection_functions() 21 22 23 24 # Register a function under a different name
25 -def rank(source, mosestranslation, lucytranslation, googletranslation, langsrc, langtgt):
26 27 28 output = autoranker.rank(source, [mosestranslation, lucytranslation, googletranslation]) 29 result= str(output) 30 31 return result
32 33
34 -def qualityRank(source, mosestranslation, lucytranslation, googletranslation, langsrc, langtgt):
35 36 ranking, description = autoranker.rank(source, [mosestranslation, lucytranslation, googletranslation]) 37 result="{rank1}$##${rank2}$##${rank3}$##${description}".format(rank1=ranking[0], 38 rank2=ranking[1], 39 rank3=ranking[2], 40 description=description) 41 return result
42 43 44 45 46 server.register_function(rank, 'rank') 47 server.register_function(qualityRank, 'qualityRank') 48 print "server ready" 49 server.serve_forever() 50