* 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> {
let pathname = format!("{}{}", thumbs_dir(), &category);
let pathname = format!("{}/{}", thumbs_dir(), &category);
let path = Path::new(&pathname);
println!("Path to use {:?}", path);
// Assume its a directory
let mut ret = "/static/cantfindshit.jpg".to_string();
for ent in path.read_dir()? {
if let Ok(ent) = ent {
let name = ent.file_name().into_string().unwrap();
if name == "category-thumbnail.jpg" {
ret = format!("/thumbnail/{}/{}", category, name);
}
}
let item = path.read_dir()?.find(|file| {
if let Ok(file) = file {
let name = file.file_name().into_string().unwrap();
name == "category-thumbnail.jpg"
} else {
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")]