diff options
| author | Yuval Adam <_@yuv.al> | 2024-05-31 15:50:42 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2024-05-31 15:50:42 +0200 |
| commit | 2354a93e358961aaf3e0aaf826620dbb30c33ede (patch) | |
| tree | b788b749ecb9ef9ef81d49012dc653d2b40c6939 /src | |
| parent | f210f63d25dff0fef56b058a027720e81ea7b163 (diff) | |
Extract get_playlist()
Diffstat (limited to 'src')
| -rw-r--r-- | src/channels.rs | 6 | ||||
| -rw-r--r-- | src/main.rs | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/channels.rs b/src/channels.rs index 1c7ed3c..09d7fc0 100644 --- a/src/channels.rs +++ b/src/channels.rs @@ -9,6 +9,12 @@ pub struct Channel { pub image: String, } +impl Channel { + pub fn get_playlist(&self) -> String { + format!("https://api.somafm.com/{}.pls", self.id) + } +} + impl fmt::Display for Channel { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{}: {}", self.title, self.description) diff --git a/src/main.rs b/src/main.rs index 9b98c2d..10c7d6f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,8 +18,8 @@ async fn main() { match ans { Ok(ch) => { let mut sp = Spinner::new(Spinners::Dots, "Fetching channel streams...".into()); - let pls = format!("https://api.somafm.com/{}.pls", ch.id); - let url = get_stream_url(&pls).await.unwrap(); + let playlist = ch.get_playlist(); + let url = get_stream_url(&playlist).await.unwrap(); sp.stop_with_newline(); let _sp = Spinner::new(Spinners::Arrow3, format!("Playing {}", ch.title)); |
