From a0b5c8c33d811c912fbbed1e1f542bf9f93bddf7 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Fri, 4 Dec 2020 05:42:46 +0100 Subject: [PATCH] WIP: sorting --- djaosdb/caosdb_client.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/djaosdb/caosdb_client.py b/djaosdb/caosdb_client.py index 3b16415..b3cd643 100644 --- a/djaosdb/caosdb_client.py +++ b/djaosdb/caosdb_client.py @@ -34,6 +34,9 @@ class CountResult(Result): def __iter__(self): return iter(self._results) +def _sort_key(x, field): + return x[field] or "" + class FindResult(Result): def __init__(self, rows, columns, sort=None, limit=None, skip=None): @@ -47,7 +50,7 @@ class FindResult(Result): if columns is not None: if sort: named_columns = [dict(zip(columns, row)) for row in rows] - named_columns.sort(key=lambda x: x[sort[0][0]], reverse=sort[0][1] < 0) + named_columns.sort(key=lambda x: _sort_key(x, sort[0][0]), reverse=sort[0][1] < 0) self._results = named_columns[skip:upper] else: self._results = [] -- GitLab