annotate WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/workflowclients/client_2.py~ @ 0:049760c677de default tip

Galaxy WSExtensions added successfully
author uga-galaxy-group
date Tue, 05 Jul 2011 19:34:18 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
1 # To change this template, choose Tools | Templates
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
2 # and open the template in the editor.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
3 import warnings
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
4 with warnings.catch_warnings():
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
5 warnings.simplefilter("ignore")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
6
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
7 import sys
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
8 import os
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
9 import time
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
10 galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
11 sys.path.append(galaxyhome+'/tools/WebServiceToolWorkflow_REST_SOAP/clientGenerator/')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
12 from creatorEngineComplex import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
13 from wsdl2path import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
14 from paramConverter import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
15 from ZSI.writer import SoapWriter
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
16 from collections import deque
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
17
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
18 __author__="Shefali Shastri"
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
19
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
20 def main():
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
21 """
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
22
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
23 This script takes the values of the input parameters of the
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
24 web service from the user and invokes the web service.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
25 The URL to the WSDL is the command line argument
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
26
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
27 """
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
28 with warnings.catch_warnings():
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
29 warnings.simplefilter("ignore")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
30
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
31 #galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
32 #sys.path.append(galaxyhome+'/tools/SOAPclient/clients/clientGenerator/')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
33 os.chdir(galaxyhome+'/tools/WebServiceToolWorkflow_REST_SOAP/clientGenerator/')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
34 webservice = str(sys.argv[5])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
35 #print 'WS ', webservice
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
36 operation = str(sys.argv[6])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
37 #print 'OP ',operation
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
38 resultfile=open(sys.argv[1],'w')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
39 length=len(sys.argv)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
40 inputdict={}
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
41 i=7
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
42 test=ClientCreator()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
43 while(i>=7 and i<(length-1)):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
44 key=sys.argv[i]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
45 print 'key is : ',key
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
46 #if(sys.argv[i+1]=='ZSI.TC.String'):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
47 val=sys.argv[i+1]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
48 while(val.find('__at__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
49 vlist = val.split('__at__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
50 val = '@'.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
51 while(val.find('__sq__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
52 vlist = val.split('__sq__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
53 val = ''.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
54 while(val.find('__gt__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
55 vlist = val.split('__gt__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
56 val = '>'.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
57 while(val.find('***')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
58 vlist = val.split('***')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
59 val = '\n'.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
60 while(val.find('**')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
61 vlist = val.split('**')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
62 val = ' '.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
63 while(val.find('__ob__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
64 vlist = val.split('__ob__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
65 val = '['.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
66 while(val.find('__cb__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
67 vlist = val.split('__cb__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
68 val = ']'.join(vlist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
69
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
70 print 'value is : ',val
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
71
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
72 #if(val.find('__sq__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
73 # j=i+4
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
74 # val=val.lstrip('__sq__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
75 # while(str(sys.argv[j]).find('__sq__')==-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
76 # val=val+' '+sys.argv[j]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
77 # j=j+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
78 #val=val+' '+(str(sys.argv[j]).rstrip('__sq__'))
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
79 #i=j-3
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
80
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
81 #elif((sys.argv[i+1]=='ZSI.TC.Integer')or (sys.argv[i+1]=='ZSI.TCnumbers.Iint')):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
82 # val=int(sys.argv[i+1])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
83 #elif(sys.argv[i+1]=='ZSI.TC.Decimal'):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
84 # val=float(sys.argv[i+1])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
85 #elif(sys.argv[i+2]=='Yes'):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
86 # valFile=open(sys.argv[i+3],'r')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
87 # val=valFile.read()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
88 #else:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
89 # val=sys.argv[i+1]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
90 if val == 'fileInput':
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
91 f = open(sys.argv[i+2])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
92 #line = f.readline()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
93 val = ''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
94 #for j in line:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
95 # val = val+j
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
96 #linestripped = line.strip('\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
97 for line in f:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
98 #line = f.readline().strip('\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
99 #line = line.strip(' ')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
100
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
101 val = val+line
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
102 val = val.strip("\n")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
103 print val
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
104 i = i+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
105
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
106 if(val != "0"):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
107 inputdict[key] = val
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
108 #resultfile.write('value is :'+ val+'\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
109
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
110 i=i+2
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
111 print inputdict
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
112 if len(inputdict) == 0:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
113 print 'empty inputs'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
114 inputdic = {}
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
115 else:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
116 inputdic = flat2nestedDict(inputdict)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
117 print 'the inputs are',inputdic
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
118 result = None
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
119 try:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
120 result = test.invokeOp(operation,webservice,inputdic)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
121 except:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
122 pass
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
123 print 'The result before is ',result
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
124 #print ps
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
125 while result == None:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
126 time.sleep(2)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
127 print 'in loop'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
128 result = test.invokeOp(operation,webservice,inputdic)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
129
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
130 print 'The result after is',result
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
131
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
132 # Writing the output to he o/p file when the result is parsed
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
133 for r in result:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
134 if type(result[r])==list:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
135 for i in result[r]:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
136 resultfile.write(str(i)+'\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
137 print str(i)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
138 else:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
139 resultfile.write(str(result[r])+'\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
140
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
141 #Writes the result without parsinf in the XML format it gets.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
142 #sw = SoapWriter(header=False, envelope=False);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
143 #res = test.opname2outputClassOb(operation,webservice)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
144 #res_tc = getattr(res,'typecode')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
145 #ofwhat = res_tc.ofwhat;
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
146 #for tc in ofwhat :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
147 # sw.serialize(getattr(result, tc.aname), tc);
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
148 # doc = sw.dom.getDocument();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
149 # fp = open(sys.argv[1], 'w');
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
150 # try :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
151 # doc.writexml(fp, '\t', '', '\n');
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
152 # finally :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
153 # fp.close();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
154
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
155
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
156
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
157
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
158 if __name__ == "__main__":
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
159 main();
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
160