From d94743decb47a7c06fd75725f2e8267d23a8b6b0 Mon Sep 17 00:00:00 2001 From: Vermaas <vermaas@astron.nl> Date: Tue, 2 Jul 2024 15:19:44 +0200 Subject: [PATCH] sort direction --- spaceweather_processing/app.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/spaceweather_processing/app.py b/spaceweather_processing/app.py index 9970e44..2a1db22 100644 --- a/spaceweather_processing/app.py +++ b/spaceweather_processing/app.py @@ -137,8 +137,14 @@ class DataProductDB: # if a &sort=<field> url parameter is given then use sort, otherwise omit it (backward compatibility) if sort: + if sort[0]=='-': + direction = -1 + sort = sort[1:] + else: + direction = 1 + results = [augment_item(item) for item in - self.db[collection_name].find(query, selected_fields).skip(skip).limit(limit).sort(sort)] + self.db[collection_name].find(query, selected_fields).skip(skip).limit(limit).sort(sort,direction)] else: results = [augment_item(item) for item in self.db[collection_name].find(query, selected_fields).skip(skip).limit(limit)] @@ -218,7 +224,7 @@ def get_tasks(collection_name: str, task_id: str, request: Request): else: raise exceptions.HTTPException(status_code=404, detail=f'Collection {collection_name} does not exist') -@app.get('/{collection_name}/distinct_field/') +@app.get('/{collection_name}/distinct/') def get_tasks_distinct_field(collection_name: str, request: Request, filter: Union[str, None] = None, distinct: str = None): print(filter) DB.base_url = from_urlobj_to_url(request.url) @@ -250,6 +256,7 @@ def get_tasks(collection_name: str, request: Request, skip: int = 0, limit: int except: raise exceptions.HTTPException(status_code=422, detail='filter syntax invalid') if DB.does_collection_exist(collection_name): + print(query) return DB.get_items(collection_name, query=query, limit=limit, skip=skip, url=from_urlobj_to_url(request.url), select=select, sort=sort) else: raise exceptions.HTTPException(status_code=404, detail=f'collection {collection_name} does not exist') -- GitLab