* Cleaner thumbnail finder with more controlled state

This commit is contained in:
shockrah 2021-10-22 23:12:04 -07:00
parent 31d9794d7f
commit 5707499af9

View File

@ -36,21 +36,25 @@ pub fn get_category_dirs(path: &str) -> std::io::Result<Vec<DirEntry>> {
} }
pub fn get_category_thumbnail(category: &str) -> std::io::Result<String> { pub fn get_category_thumbnail(category: &str) -> std::io::Result<String> {
let pathname = format!("{}{}", thumbs_dir(), &category); let pathname = format!("{}/{}", thumbs_dir(), &category);
let path = Path::new(&pathname); let path = Path::new(&pathname);
println!("Path to use {:?}", path);
// Assume its a directory // Assume its a directory
let mut ret = "/static/cantfindshit.jpg".to_string(); let item = path.read_dir()?.find(|file| {
for ent in path.read_dir()? { if let Ok(file) = file {
if let Ok(ent) = ent { let name = file.file_name().into_string().unwrap();
let name = ent.file_name().into_string().unwrap(); name == "category-thumbnail.jpg"
if name == "category-thumbnail.jpg" { } else {
ret = format!("/thumbnail/{}/{}", category, name); false
}
} }
} });
return Ok(ret); return Ok(match item {
Some(name) => {
let name = name.unwrap().file_name().into_string().unwrap();
format!("/thumbnail/{}/{}", category, name)
},
None => "/static/cantfindshit.jpg".to_string()
})
} }
#[get("/categories")] #[get("/categories")]