blob: 2427422834433fbda727f6052f2fbc09784405be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
pub struct Strategy {}
use std::path::PathBuf;
use crate::file_handler::{File, 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, file_type: &FileType) -> bool {
match file_type {
FileType::Gemini => true,
_ => false,
}
}
fn handle(&self, source: &PathBuf, destination: &PathBuf, file: &File) {
println!("Should parse and copy {}", file.path.display())
}
}
|