annotate WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/clientGenerator/wsdl2path.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 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
2 @author Rui Wang
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
3 @see LICENSE (MIT style license file).
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
4 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
5
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
6 import os
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 from ZSI.generate.commands import wsdl2py
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
9
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
10 __author__="Rui Wang"
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
11
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
12 class wsdlLoader:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
13 '''all methods to load wsdl from file/url'''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
14
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
15 def wsdlUrl2path(self, url, folderName):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
16 '''given wsdl url, folder name
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
17 create a folder under current directory,
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
18 invoke wsdl2py
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
19 return the path of generated python file by wsdl2py'''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
20
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
21 path=os.path.join(os.getcwd(), folderName)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
22 if not os.path.isdir(path):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
23 os.mkdir(path)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
24
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
25 fileOb=open(os.path.join(path,'__init__.py'), 'a')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
26 fileOb.close()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
27 wsdl2py([url, '-o', path]) #zsi 2.1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
28 #wsdl2py(['-u',url, '-o', path]) #zsi 2.0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
29
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
30 #get path required by creatorEngine.py, such as: blast.WSWUBlast_services, WSWUBlast_client
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
31 pyFileList=os.listdir(path)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
32 for f in pyFileList:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
33 if f.endswith('_client.py'): #zsi2.1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
34 #if f.endswith('_services.py'): #zsi2.0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
35 importPath=folderName+'.'+f[:-3]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
36 break
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
37
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
38 return importPath
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
39
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
40 def wsdlFile2path(self, filePath, folderName):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
41 '''given wsdl file path, folder name
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
42 create a folder under current directory,
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
43 invoke wsdl2py
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
44 return the path of generated python file by wsdl2py'''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
45 path=os.path.join(os.getcwd(), folderName)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
46 if not os.path.isdir(path):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
47 os.mkdir(path)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
48 else:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
49 print 'Warning: writing files into an already existed path!!!!'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
50
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
51 fileOb=open(os.path.join(path,'__init__.py'), 'a')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
52 fileOb.close()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
53 wsdl2py([filePath, '-o', path])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
54 # wsdl2py(['-f',filePath, '-o', path])
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
55
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
56 #get path required by creatorengine.py, such as: blast.WSWUBlast_services
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
57 pyFileList=os.listdir(path)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
58 for f in pyFileList:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
59 #if f.endswith('_client.py'): #zsi2.1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
60 if f.endswith('_services.py'): #zsi 2.0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
61 importPath=folderName+'.'+f[:-3] # f[:-3] will take off the .py extention
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
62 break
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
63
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
64 return importPath
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
65
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
66 #testing this module
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
67 if __name__=="__main__":
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
68 test=wsdlLoader()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
69 test.wsdlUrl2path('http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl','blast')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
70 #print test.wsdlFile2path('..\\wsdl\\WSWUBlast.wsdl', 'blast')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
71 # print test.wsdlFile2path('..\\wsdl\\picr.wsdl', 'picr')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
72
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
73 # print test.wsdlFile2path('..\\wsdl\\WSDbfetch.wsdl', 'dbfetch')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
74
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
75 # print test.wsdlFile2path('..\\wsdl\\NewGeneByLocation.wsdl', 'gbLocation')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
76
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
77
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
78 #'http://www.ebi.ac.uk/Tools/webservices/wsdl/WSWUBlast.wsdl'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
79 #'-u http://www.ebi.ac.uk/Tools/webservices/wsdl/WSDbfetch.wsdl'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
80 #-o OUTPUT_DIR
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
81 #-b add convenience functions for complexTypes, including Getters, Setters, factory methods, and properties (via metaclass). *** DONT USE WITH --simple-naming