def _get_sensor_fixed_metadata_url(sensorId): """ Assumes that the sensor fixed metadata stored in Clowder is authoritative Ignore the fixed metadata in the JSON object and return the fixed metadata URL in Clowder. """ # TODO: Compare to known fixed metadata structure # TODO; We only need this one -- duplicate method in metadata.py # Get the dataset ID for the sensor by identifier sensors = Sensors(base="", station=STATION_NAME, sensor=sensorId) datasetid = sensors.get_fixed_datasetid_for_sensor() properties = {} properties["url"] = os.environ.get("CLOWDER_HOST","http://terraref.ncsa.illinois.edu/clowder/") + "api/datasets/" + datasetid + "/metadata.jsonld" return properties
def get_sensor_fixed_metadata(station, sensor_id, host='', key=''): """Get fixed sensor metadata from Clowder.""" if not host: host = os.getenv("CLOWDER_HOST", 'https://terraref.ncsa.illinois.edu/clowder/') if not key: key = os.getenv("CLOWDER_KEY", '') sensor = Sensors(base="", station=station, sensor=sensor_id) datasetid = sensor.get_fixed_datasetid_for_sensor() jsonld = pyclowder.datasets.download_metadata(None, host, key, datasetid) for sub_metadata in jsonld: if 'content' in sub_metadata: # TODO: Currently assumes only one metadata object attached to formal sensor metadata dataset return sub_metadata['content']