Files
galaxy/scripts/api/search.py
T
2022-02-03 07:42:20 -05:00

62 lines
1.8 KiB
Python

"""
Sample script for Galaxy Search API
"""
import json
import sys
import requests
class RemoteGalaxy:
def __init__(self, url, api_key):
self.url = url
self.api_key = api_key
def get(self, path):
c_url = self.url + path
params = {}
params["key"] = self.api_key
req = requests.get(c_url, params=params)
return req.json()
def post(self, path, payload):
c_url = self.url + path
params = {}
params["key"] = self.api_key
req = requests.post(
c_url, data=json.dumps(payload), params=params, headers={"Content-Type": "application/json"}
)
return req.json()
if __name__ == "__main__":
server = sys.argv[1]
api_key = sys.argv[2]
rg = RemoteGalaxy(server, api_key)
print("select name, id, file_size from hda")
print(rg.post("/api/search", {"query": "select name, id, file_size from hda"}))
print("select name from hda")
print(rg.post("/api/search", {"query": "select name from hda"}))
print("select name, model_class from ldda")
print(rg.post("/api/search", {"query": "select name, model_class from ldda"}))
print("select * from history")
print(rg.post("/api/search", {"query": "select * from history"}))
print("select * from tool")
print(rg.post("/api/search", {"query": "select * from tool"}))
print("select * from workflow")
print(rg.post("/api/search", {"query": "select * from workflow"}))
print("select id, name from history where name='Unnamed history'")
print(rg.post("/api/search", {"query": "select id, name from history where name='Unnamed history'"}))
print("select * from history where name='Unnamed history'")
print(rg.post("/api/search", {"query": "select * from history where name='Unnamed history'"}))