Salome HOME
mergefrom branch BR_V511_PR tag mergeto_trunk_03feb09
[modules/yacs.git] / Demo / xmlrpcprog_orig.py
1 #!/usr/bin/env python
2 #  Copyright (C) 2006-2008  CEA/DEN, EDF R&D
3 #
4 #  This library is free software; you can redistribute it and/or
5 #  modify it under the terms of the GNU Lesser General Public
6 #  License as published by the Free Software Foundation; either
7 #  version 2.1 of the License.
8 #
9 #  This library is distributed in the hope that it will be useful,
10 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 #  Lesser General Public License for more details.
13 #
14 #  You should have received a copy of the GNU Lesser General Public
15 #  License along with this library; if not, write to the Free Software
16 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20 import xmlrpclib,sys
21
22 data="""
23 <methodCall>
24   <methodName>echo</methodName>
25   <params>
26     <param><value>hello, world</value></param>
27     <param><value><double>3.5</double></value></param>
28     <param><value><string>coucou</string></value></param>
29   </params>
30 </methodCall>
31 """
32 def echo(args):
33   print args
34   return 96785439
35
36 f=open("input")
37 data=f.read()
38 f.close()
39
40 params, method = xmlrpclib.loads(data)
41
42 try:
43    call=eval(method)
44    response=call(params)
45    response = (response,)
46 except:
47    # report exception back to server
48    response = xmlrpclib.dumps( xmlrpclib.Fault(1, "%s:%s" % sys.exc_info()[:2]))
49 else:
50    response = xmlrpclib.dumps( response, methodresponse=1)
51
52 print response
53 f=open("output",'w')
54 f.write(response)
55 f.close()