* Cleaner thumbnail finder with more controlled state
This commit is contained in:
parent
31d9794d7f
commit
5707499af9
@ -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")]
|
||||||
|
Loading…
Reference in New Issue
Block a user