From 2cc0e21e4277ba5a929ec5b95e7c3d054d441cb5 Mon Sep 17 00:00:00 2001 From: kim Date: Thu, 21 Mar 2024 13:17:06 -0800 Subject: [PATCH 1/2] adds shortname search keyword support --- SearchAPI/CMR/Translate/input_map.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SearchAPI/CMR/Translate/input_map.py b/SearchAPI/CMR/Translate/input_map.py index b3bdfd90..fc879799 100644 --- a/SearchAPI/CMR/Translate/input_map.py +++ b/SearchAPI/CMR/Translate/input_map.py @@ -57,7 +57,8 @@ def input_map(): 'absoluteburstid': ['attribute[]', 'int,BURST_ID_ABSOLUTE,{0}', parse_int_list], 'fullburstid': ['attribute[]', 'string,BURST_ID_FULL,{0}', parse_string_list], 'operaburstid': ['attribute[]', 'string,OPERA_BURST_ID,{0}', parse_string_list], - 'dataset': [None, '{0}', parse_string_list] + 'dataset': [None, '{0}', parse_string_list], + 'shortname': ['shortName', '{0}', parse_string_list] } return parameter_map From d01ea13020ce1772da413ff7d15a1a8c016bebd5 Mon Sep 17 00:00:00 2001 From: kim Date: Thu, 21 Mar 2024 17:15:48 -0800 Subject: [PATCH 2/2] checks length of absolute orbit before assignment in geojson output. check form data for cmr token if missing from args as fallback --- SearchAPI/CMR/Output/geojson.py | 14 ++++++++++---- SearchAPI/CMR/SubQuery.py | 3 +++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/SearchAPI/CMR/Output/geojson.py b/SearchAPI/CMR/Output/geojson.py index 8178162f..981b572c 100644 --- a/SearchAPI/CMR/Output/geojson.py +++ b/SearchAPI/CMR/Output/geojson.py @@ -58,13 +58,19 @@ def getItem(self, p): except TypeError: pass + if p.get('absoluteOrbit') is not None and len(p.get('absoluteOrbit')): + p['absoluteOrbit'] = p['absoluteOrbit'][0] + + coordinates = [] + + if p.get('shape') is not None: + coordinates = [[float(c['lon']), float(c['lat'])] for c in p.get('shape')] + result = { 'type': 'Feature', 'geometry': { 'type': 'Polygon', - 'coordinates': [ - [[float(c['lon']), float(c['lat'])] for c in p['shape']] - ] + 'coordinates': coordinates }, 'properties': { 'beamModeType': p['beamModeType'], @@ -82,7 +88,7 @@ def getItem(self, p): 'insarStackId': p['insarGrouping'], 'md5sum': p['md5sum'], 'offNadirAngle': p['offNadirAngle'], - 'orbit': p['absoluteOrbit'][0], + 'orbit': p['absoluteOrbit'], 'pathNumber': p['relativeOrbit'], 'platform': p['platform'], 'pointingAngle': p['pointingAngle'], diff --git a/SearchAPI/CMR/SubQuery.py b/SearchAPI/CMR/SubQuery.py index 1ac0a4e7..00087a00 100644 --- a/SearchAPI/CMR/SubQuery.py +++ b/SearchAPI/CMR/SubQuery.py @@ -25,6 +25,9 @@ def __init__(self, req_fields, params, extra_params): self.headers = {} token = request.args.get("cmr_token") + if token is None: + token = request.form.get('cmr_token') + if token != None: self.headers['Authorization'] = f'Bearer {token}'