Salome HOME
updated copyright message
[modules/yacs.git] / Demo / xmlrpcprog_orig.py
1 #!/usr/bin/env python3
2 # Copyright (C) 2006-2023  CEA, EDF
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, or (at your option) any later version.
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
21 import xmlrpc.client,sys
22
23 data="""
24 <methodCall>
25   <methodName>echo</methodName>
26   <params>
27     <param><value>hello, world</value></param>
28     <param><value><double>3.5</double></value></param>
29     <param><value><string>coucou</string></value></param>
30   </params>
31 </methodCall>
32 """
33 def echo(args):
34   print(args)
35   return 96785439
36
37 f=open("input")
38 data=f.read()
39 f.close()
40
41 params, method = xmlrpc.client.loads(data)
42
43 try:
44    call=eval(method)
45    response=call(params)
46    response = (response,)
47 except:
48    # report exception back to server
49    response = xmlrpc.client.dumps( xmlrpc.client.Fault(1, "%s:%s" % sys.exc_info()[:2]))
50 else:
51    response = xmlrpc.client.dumps( response, methodresponse=1)
52
53 print(response)
54 f=open("output",'w')
55 f.write(response)
56 f.close()