Select Git revision
moondb.py 1.67 KiB
#!/usr/bin/python
#
# Alessandro Frigeri 2019
#
# MoonDB Python module
# https://realpython.com/api-integration-in-python/
import requests
import json
def _url(path):
return "http://api.moondb.org" + path
def get_specimen():
pass
def get_specimentype():
pass
def get_mission():
pass
def _check_resp(resp):
if resp.status_code != 200:
#raise ApiError('Cannot fetch all objects: {}'.format(resp.status_code))
pass
def _json_object_hook(d):
return namedtuple('X', d.keys())(*d.values())
def json2obj(data):
return json.loads(data, object_hook=_json_object_hook)
def get_analytes():
analytes = []
resp = requests.get(_url('/cv/analytes/'))
_check_resp(resp)
for m_item in resp.json()['result']:
analytes.append( Analyte(m_item['name'] ))
return analytes
def get_missions():
missions = []
resp = requests.get(_url('/authorities/missions/'))
_check_resp(resp)
for m_item in resp.json()['result']:
missions.append( Mission(m_item['name'] ))
print(m_item)
this_m = json.loads( "{'name': 'Apollo 11'}" )
return missions
def get_missions2():
resp = requests.get(_url('/authorities/missions/'))
#m2 = json.loads(resp)
print(resp)
return resp.json()['result']
def get_landmark():
pass
def get_samplingtechnique():
pass
class Filter:
def __init__(self):
self.mission = None
class Mission:
def __init__(self,name):
self.name = name
class AnalysisMethos:
def __init__(self,code,name):
self.name = name
self.code = code
class Analyte:
def __init__(self,name):
self.name = name
if __name__ == "__main__":
m = get_missions()
print m