Skip to content

Commit e26489c

Browse files
RSPY-723: Testing removal of code with doubtful utility
1 parent 126295e commit e26489c

File tree

1 file changed

+66
-66
lines changed

1 file changed

+66
-66
lines changed

src/ADGS/adgs_station_mock.py

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def hello():
124124
return Response(status=HTTPStatus.OK)
125125

126126

127-
def process_products_request(request, headers):
127+
def process_products_request(request, headers) -> Response:
128128
"""Docstring to be added."""
129129
catalog_path = app.config["configuration_path"] / "Catalog/GETFileResponse.json"
130130
catalog_data = json.loads(open(catalog_path).read())
@@ -241,9 +241,9 @@ def process_products_request(request, headers):
241241
def process_query(query):
242242
# Step 1: Remove the part before "any("
243243
queries = query.split("any(")
244-
244+
245245
results = []
246-
246+
247247
# Step 2: Process each part individually
248248
for q in queries:
249249
if ")" in q:
@@ -254,7 +254,7 @@ def process_query(query):
254254
# Collect and clean up each part
255255
for part in parts:
256256
results.append(part.strip())
257-
257+
258258
return results
259259

260260

@@ -318,7 +318,7 @@ def split_composite_filter(filter_to_split: str) -> tuple[list[str], list[str]]:
318318
return splitted_filter, operators
319319

320320

321-
def process_filter(request, input_filter):
321+
def process_filter(request, input_filter: str) -> Response:
322322
"""Recursive function to go through any filter (composite or not) and return
323323
the result of the full filter.
324324
"""
@@ -331,7 +331,7 @@ def process_filter(request, input_filter):
331331
if "Attributes" in end_filter or "OData.CSC" in end_filter:
332332
return process_attributes_search(end_filter, request.args)
333333
return process_products_request(str(end_filter), request.args)
334-
334+
335335
# If there is more than one filter, repeat operation on each one and combine its
336336
# results with the ones of the previous one using the correct operator
337337
else:
@@ -360,7 +360,7 @@ def extract_values_and_operation(part1, part2):
360360

361361
return value1, operation, value2
362362

363-
def process_attributes_search(query, headers):
363+
def process_attributes_search(query, headers) -> Response:
364364
# Don;t touch this, it just works
365365
results = process_query(query)
366366
if len(results) == 2:
@@ -473,65 +473,65 @@ def query_products():
473473
[query_text in request.args["$filter"].split(" ")[0] for query_text in ["Name", "PublicationDate", "Attributes", "ContentDate/Start", "ContentDate/End"]],
474474
):
475475
return Response(status=HTTPStatus.BAD_REQUEST)
476-
else:
477-
if " and " not in request.args['$filter']:
478-
conditions = re.split(r"\s+or\s+|\s+OR\s+", match.group(1))
479-
responses = [process_products_request(cond, request.args) for cond in conditions]
480-
first_response = json.loads(responses[0].data)['value']
481-
second_response = json.loads(responses[1].data)['value']
482-
fresp_set = {d.get("Id", None) for d in first_response}
483-
sresp_set = {d.get("Id", None) for d in second_response}
484-
union_set = fresp_set.union(sresp_set)
485-
union_elements = [d for d in first_response + second_response if d.get("Id") in union_set]
486-
return Response(status=HTTPStatus.OK, response=prepare_response_odata_v4(union_elements), headers=request.args)
487-
match len(request.args['$filter'].split(" and ")):
488-
case 1:
489-
conditions = re.split(r"\s+or\s+|\s+OR\s+", match.group(1))
490-
responses = [process_products_request(cond, request.args) for cond in conditions]
491-
first_response = json.loads(responses[0].data)['value']
492-
second_response = json.loads(responses[1].data)['value']
493-
fresp_set = {d.get("Id", None) for d in first_response}
494-
sresp_set = {d.get("Id", None) for d in second_response}
495-
union_set = fresp_set.union(sresp_set)
496-
union_elements = [d for d in first_response + second_response if d.get("Id") in union_set]
497-
responses = json.loads(process_products_request(filter, request.args).data)["value"]
498-
fresp_set = {d.get("Id", None) for d in responses}
499-
sresp_set = {d.get("Id", None) for d in union_elements}
500-
common_response = fresp_set.intersection(sresp_set)
501-
common_elements = [d for d in responses if d.get("Id") in common_response]
502-
if common_elements:
503-
return Response(
504-
status=HTTPStatus.OK,
505-
response=prepare_response_odata_v4(common_elements),
506-
headers=request.args,
507-
)
508-
return Response(status=HTTPStatus.OK, response=json.dumps({"value": []}))
509-
case 2:
510-
union_elements = []
511-
for ops in request.args['$filter'].split(" and "):
512-
conditions = re.split(r"\s+or\s+|\s+OR\s+|\(|\)", ops)
513-
conditions = [p for p in conditions if p.strip()]
514-
responses = [process_products_request(cond, request.args) for cond in conditions]
515-
first_response = json.loads(responses[0].data)['value']
516-
second_response = json.loads(responses[1].data)['value']
517-
fresp_set = {d.get("Id", None) for d in first_response}
518-
sresp_set = {d.get("Id", None) for d in second_response}
519-
union_set = fresp_set.union(sresp_set)
520-
union_elements.append([d for d in first_response + second_response if d.get("Id") in union_set])
521-
first_ops_response = {d.get("Id", None) for d in union_elements[0]}
522-
second_ops_response = {d.get("Id", None) for d in union_elements[1]}
523-
common_response = first_ops_response.intersection(second_ops_response)
524-
common_elements = [d for d in first_response + second_response if d.get("Id") in common_response]
525-
return Response(status=HTTPStatus.OK, response=prepare_response_odata_v4(common_elements), headers=request.args)
526-
case 4:
527-
conditions = request.args['$filter'].split(" and ")
528-
529-
if any("PublicationDate" in cond for cond in conditions):
530-
pass # Do nothing if at least one condition contains "PublicationDate"
531-
case _:
532-
msg = "Too complex for adgs sim"
533-
logger.error(msg)
534-
return Response ("Too complex for adgs sim", status=HTTPStatus.BAD_REQUEST)
476+
# else:
477+
# if " and " not in request.args['$filter']:
478+
# conditions = re.split(r"\s+or\s+|\s+OR\s+", match.group(1))
479+
# responses = [process_products_request(cond, request.args) for cond in conditions]
480+
# first_response = json.loads(responses[0].data)['value']
481+
# second_response = json.loads(responses[1].data)['value']
482+
# fresp_set = {d.get("Id", None) for d in first_response}
483+
# sresp_set = {d.get("Id", None) for d in second_response}
484+
# union_set = fresp_set.union(sresp_set)
485+
# union_elements = [d for d in first_response + second_response if d.get("Id") in union_set]
486+
# return Response(status=HTTPStatus.OK, response=prepare_response_odata_v4(union_elements), headers=request.args)
487+
# match len(request.args['$filter'].split(" and ")):
488+
# case 1:
489+
# conditions = re.split(r"\s+or\s+|\s+OR\s+", match.group(1))
490+
# responses = [process_products_request(cond, request.args) for cond in conditions]
491+
# first_response = json.loads(responses[0].data)['value']
492+
# second_response = json.loads(responses[1].data)['value']
493+
# fresp_set = {d.get("Id", None) for d in first_response}
494+
# sresp_set = {d.get("Id", None) for d in second_response}
495+
# union_set = fresp_set.union(sresp_set)
496+
# union_elements = [d for d in first_response + second_response if d.get("Id") in union_set]
497+
# responses = json.loads(process_products_request(filter, request.args).data)["value"]
498+
# fresp_set = {d.get("Id", None) for d in responses}
499+
# sresp_set = {d.get("Id", None) for d in union_elements}
500+
# common_response = fresp_set.intersection(sresp_set)
501+
# common_elements = [d for d in responses if d.get("Id") in common_response]
502+
# if common_elements:
503+
# return Response(
504+
# status=HTTPStatus.OK,
505+
# response=prepare_response_odata_v4(common_elements),
506+
# headers=request.args,
507+
# )
508+
# return Response(status=HTTPStatus.OK, response=json.dumps({"value": []}))
509+
# case 2:
510+
# union_elements = []
511+
# for ops in request.args['$filter'].split(" and "):
512+
# conditions = re.split(r"\s+or\s+|\s+OR\s+|\(|\)", ops)
513+
# conditions = [p for p in conditions if p.strip()]
514+
# responses = [process_products_request(cond, request.args) for cond in conditions]
515+
# first_response = json.loads(responses[0].data)['value']
516+
# second_response = json.loads(responses[1].data)['value']
517+
# fresp_set = {d.get("Id", None) for d in first_response}
518+
# sresp_set = {d.get("Id", None) for d in second_response}
519+
# union_set = fresp_set.union(sresp_set)
520+
# union_elements.append([d for d in first_response + second_response if d.get("Id") in union_set])
521+
# first_ops_response = {d.get("Id", None) for d in union_elements[0]}
522+
# second_ops_response = {d.get("Id", None) for d in union_elements[1]}
523+
# common_response = first_ops_response.intersection(second_ops_response)
524+
# common_elements = [d for d in first_response + second_response if d.get("Id") in common_response]
525+
# return Response(status=HTTPStatus.OK, response=prepare_response_odata_v4(common_elements), headers=request.args)
526+
# case 4:
527+
# conditions = request.args['$filter'].split(" and ")
528+
529+
# if any("PublicationDate" in cond for cond in conditions):
530+
# pass # Do nothing if at least one condition contains "PublicationDate"
531+
# case _:
532+
# msg = "Too complex for adgs sim"
533+
# logger.error(msg)
534+
# return Response ("Too complex for adgs sim", status=HTTPStatus.BAD_REQUEST)
535535

536536
return process_filter(request, request.args['$filter'])
537537

0 commit comments

Comments
 (0)