X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/1e2d00b62ecce95f71d4bfd60a043c8e86631eee..102a4884c3d7d26817fefb38c675be07047f5ee2:/src/file_handler/file_strategies/gemini.rs diff --git a/src/file_handler/file_strategies/gemini.rs b/src/file_handler/file_strategies/gemini.rs index e69de29..ffa2a9f 100644 --- a/src/file_handler/file_strategies/gemini.rs +++ b/src/file_handler/file_strategies/gemini.rs @@ -0,0 +1,26 @@ +pub struct Strategy {} + +use std::path::PathBuf; + +use crate::file_handler::{FileType, FileHandlerStrategy}; + +impl FileHandlerStrategy for Strategy { + fn is(&self, path: &PathBuf) -> bool { + if let Some(extension) = path.extension() { + return !path.is_dir() && extension == "gmi" + } + false + } + + fn identify(&self) -> FileType { + FileType::Gemini + } + + fn can_handle(&self, path: &PathBuf) -> bool { + self.is(path) + } + + fn handle(&self, path: &PathBuf) { + println!("Should convert {}", path.display()) + } +}