#Dump all registrated services
from bioMoby import Client, ServiceQuery, ServiceArticle, ServiceSecondary
client=Client(url="http://mips.gsf.de/cgi-bin/proj/planet/moby/MOBY-Central.pl", ns="http://mips.gsf.de/MOBY/Central")
dsn=client.retrieveServiceNames()
f=file('resultats.html','w')
f.write("
Results")
ddd=dsn.keys()
ddd.sort()
for serviceName in ddd:
f.write(""+serviceName+"
")
for serviceName in ddd:
sl=client.findService(ServiceQuery(serviceName=serviceName))
if len(sl)>0:
f.write("
")
f.write("Name: " + serviceName+"
")
f.write("Category: " + sl[0].category+"
")
f.write("Description: " + sl[0].description+"
")
f.write("URL:"+sl[0].url+"
")
f.write("Email: "+sl[0].contact+"
")
f.write("
")
f.write("Inputs:
")
for inp in sl[0].inputObjects:
if inp.__class__ is ServiceArticle:
f.write("Article's name:" + inp.name +"
")
f.write("Object's type:" + inp.type +"
")
for namespace in inp.namespaces:
f.write("Name space:" + namespace +"
")
if inp.__class__ is dict:
for key in inp.keys():
f.write("Collection's name:" + key +"
")
listofArticles=inp[key]
for article in listofArticles:
f.write("Article's name:" + article.name +"
")
f.write("Object's type:" + article.type +"
")
for namespace in article.namespaces:
f.write("Name space:"+namespace+"
")
f.write("
")
f.write("Outputs:
")
for inp in sl[0].outputObjects:
if inp.__class__ is ServiceArticle:
f.write("Article's name:" + inp.name +"
")
f.write("Object's type:" + inp.type +"
")
for namespace in inp.namespaces:
f.write("name space:" + namespace +"
")
if inp.__class__ is dict:
for key in inp.keys():
f.write("Collection's name:" + key +"
")
listofArticles=inp[key]
for article in listofArticles:
f.write("Article's name:" + article.name +"
")
f.write("Object's type:" + article.type +"
")
for namespace in article.namespaces:
f.write("Name space:" + namespace +"
")
f.write("
")
f.write("Secondary
")
for sec in sl[0].secondaryArticles:
f.write("Parameter name: "+sec.name+"
")
f.write("default: "+sec.default+"
")
f.write("min: "+sec.min+"
")
f.write("max: "+sec.max+"
")
f.write("enums:
")
for enum in sec.enums:
f.write("value: "+enum+"
")
f.write("")
f.close()