Commit 800e85dd authored by Alessandro Frigeri's avatar Alessandro Frigeri
Browse files

test

parent 782b86c2
Loading
Loading
Loading
Loading

moondb.py

0 → 100755
+87 −0
Original line number Diff line number Diff line
#!/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