diff --git a/src/route/album.rs b/src/route/album.rs index 02adc45..a385a26 100644 --- a/src/route/album.rs +++ b/src/route/album.rs @@ -26,11 +26,14 @@ pub async fn albums_route(artist_id: &str, lib: &State) -> FallibleApiRe } fn sort_by_tracknumber(a: &serde_json::Value, b: &serde_json::Value) -> Ordering { - a.get("tracknumber") - .unwrap() - .as_i64() - .unwrap() - .cmp(&b.get("tracknumber").unwrap().as_i64().unwrap()) + let order = (|| { + Some( + a.get("tracknumber")? + .as_i64()? + .cmp(&b.get("tracknumber")?.as_i64()?), + ) + })(); + order.unwrap_or(Ordering::Equal) } #[get("/album//cover")]