From b9d9c7feeb0093feba0f17e6c4d64e19e2facd87 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 6 Nov 2025 10:43:52 -0500 Subject: [PATCH] tsk-49: Initialize FileType with file type of the media --- src/detection/mod.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/detection/mod.rs b/src/detection/mod.rs index ad6601e..27fbd76 100644 --- a/src/detection/mod.rs +++ b/src/detection/mod.rs @@ -6,3 +6,26 @@ pub struct FileType { pub mime: String, pub file_type: String, } + + +/// Initializes a FileType given a filetype passed. +pub fn init_filetype(filetype: &str) -> Result { + if filetype == song::constants::FLAC_TYPE { + Ok(FileType { + mime: String::from(song::constants::mime::FLAC), + file_type: String::from(song::constants::FLAC_TYPE), + }) + } else if filetype == coverart::constants::PNG_TYPE { + Ok(FileType { + mime: String::from(coverart::constants::mime::PNG), + file_type: String::from(coverart::constants::PNG_TYPE), + }) + } else if filetype == coverart::constants::JPEG_TYPE || filetype == coverart::constants::JPG_TYPE { + Ok(FileType { + mime: String::from(coverart::constants::mime::JPEG), + file_type: String::from(coverart::constants::JPEG_TYPE), + }) + } else { + Err(std::io::Error::other(format!("Unsupported FileType: {filetype:?}"))) + } +}