From 15be9357da63924efa53017d6d609659b1413656 Mon Sep 17 00:00:00 2001 From: krolxon Date: Sat, 1 Jun 2024 20:25:35 +0530 Subject: move FileExtension to utils.rs --- src/browser.rs | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'src/browser.rs') 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, } -// https://stackoverflow.com/questions/72392835/check-if-a-file-is-of-a-given-type -pub trait FileExtension { - fn has_extension>(&self, extensions: &[S]) -> bool; -} - -impl> FileExtension for P { - fn has_extension>(&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 { -- cgit v1.2.3