Просмотр исходного кода

Do not panic on missing player metadata

Sometimes the player.get_metadata() fails. Don't crash when this
happens.
Frans Bergman 1 год назад
Родитель
Сommit
bdfc12a9de
1 измененных файлов с 13 добавлено и 10 удалено
  1. 13 10
      src/block/music.rs

+ 13 - 10
src/block/music.rs

@@ -13,16 +13,19 @@ impl Block for Music {
 
         match player {
             Ok(player) => {
-                let meta = player.get_metadata().expect("Could not get metadata");
-                let artist: String = meta
-                    .artists()
-                    .map(|a| a.into_iter().intersperse(", ").collect())
-                    .unwrap_or("".to_string());
-                let track: String = meta
-                    .title()
-                    .map(|a| a.to_string())
-                    .unwrap_or("".to_string());
-                format!("{} - {}", artist, track)
+                if let Ok(meta) = player.get_metadata() {
+                    let artist: String = meta
+                        .artists()
+                        .map(|a| a.into_iter().intersperse(", ").collect())
+                        .unwrap_or("".to_string());
+                    let track: String = meta
+                        .title()
+                        .map(|a| a.to_string())
+                        .unwrap_or("".to_string());
+                    format!("{} - {}", artist, track)
+                } else {
+                    "".to_string()
+                }
             }
             Err(e) => {
                 println!("{:?}", e);