From 363a0ee4669b469f41a8f45efc1e9dd1110b7edc Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Sat, 30 Mar 2024 18:30:46 -0500 Subject: [PATCH] fix to sorting by online --- api/views_front.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/api/views_front.py b/api/views_front.py index ed63489..50a9a4a 100644 --- a/api/views_front.py +++ b/api/views_front.py @@ -224,7 +224,18 @@ def get_all_info(): for k, v in devices.items(): devices[k]['status'] = _('Online') if (now-datetime.datetime.strptime(v['update_time'], '%Y-%m-%d %H:%M')).seconds <=120 else _('Offline') - return [v for k,v in sorted(devices.items(), key=lambda item: item['status'])] + sorted_devices = sorted(devices.items(), key=custom_sort) + new_ordered_dict = {} + for key, device in sorted_devices: + new_ordered_dict[key] = device + return [v for k,v in new_ordered_dict.items()] + +def custom_sort(item): + status = item[1]['status'] + if status == 'Online': + return 1 + else: + return 0 @login_required(login_url='/api/user_action?action=login') def work(request):