Skip to content
Snippets Groups Projects
Select Git revision
  • c2f67825ca1683b240d1b301bcc6cf032274e6f7
  • master default protected
2 results

README.md

Blame
  • 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