diff options
| author | krolxon <krolyxon@tutanota.com> | 2024-06-01 20:25:35 +0530 |
|---|---|---|
| committer | krolxon <krolyxon@tutanota.com> | 2024-06-01 20:25:35 +0530 |
| commit | 15be9357da63924efa53017d6d609659b1413656 (patch) | |
| tree | afcac43636a7319d9fae001c6fff65145802a1d8 /src/browser.rs | |
| parent | 7ae0a2cc19ba9565b77cc9a459bcaace277677ea (diff) | |
move FileExtension to utils.rs
Diffstat (limited to 'src/browser.rs')
| -rwxr-xr-x | src/browser.rs | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/src/browser.rs b/src/browser.rs index 4cc5a56..92d3ca9 100755 --- a/src/browser.rs +++ b/src/browser.rs @@ -1,9 +1,8 @@ -use std::ffi::OsStr; use std::path::Path; use mpd::Song; -use crate::{app::AppResult, connection::Connection}; +use crate::{app::AppResult, connection::Connection, utils::FileExtension}; #[derive(Debug)] /// struct for working with directory browser tab in rmptui @@ -16,23 +15,6 @@ pub struct FileBrowser { pub songs: Vec<Song>, } -// https://stackoverflow.com/questions/72392835/check-if-a-file-is-of-a-given-type -pub trait FileExtension { - fn has_extension<S: AsRef<str>>(&self, extensions: &[S]) -> bool; -} - -impl<P: AsRef<Path>> FileExtension for P { - fn has_extension<S: AsRef<str>>(&self, extensions: &[S]) -> bool { - if let Some(extension) = self.as_ref().extension().and_then(OsStr::to_str) { - return extensions - .iter() - .any(|x| x.as_ref().eq_ignore_ascii_case(extension)); - } - - false - } -} - impl FileBrowser { pub fn new() -> FileBrowser { FileBrowser { |
