From e82ea910ab5b29f3f7c2d9aedbe7df2947b1fa0b Mon Sep 17 00:00:00 2001 From: Denys Konovalov Date: Thu, 16 Dec 2021 22:11:39 +0100 Subject: [PATCH] fix sorting issue --- src/indiware_connector.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/indiware_connector.rs b/src/indiware_connector.rs index bbc3f75..2d821ec 100644 --- a/src/indiware_connector.rs +++ b/src/indiware_connector.rs @@ -410,6 +410,17 @@ pub async fn get_class_timetable(_conn: DbConn, class: String, url: String) -> T dbg!("Failed: {:?}", &i); } } + response.courses.sort_by(|a, b| { + let n1 = a.as_object().unwrap().get("St").unwrap().as_i64().unwrap(); + let sb1 = a.as_object().unwrap().get("Fa").unwrap().as_str().unwrap(); + let n2 = b.as_object().unwrap().get("St").unwrap().as_i64().unwrap(); + let sb2 = b.as_object().unwrap().get("Fa").unwrap().as_str().unwrap(); + if n1 == n2 { + sb1.cmp(&sb2) + } else { + n1.cmp(&n2) + } + }); response.count = response.courses.len(); } else if class == String::from("12") && i.as_object()