#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()