Esempio n. 1
0
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
Esempio n. 2
0
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']