diff --git a/Cargo.toml b/Cargo.toml index 282e7b0..7f71ead 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ edition = "2024" [dependencies] chrono = "0.4.41" log = "0.4.27" -mlua = "0.11.3" +mlua = { version = "0.11.3", features = ["lua54"] } rand = "0.9.2" rayon = "1.10.0" serde = { version = "1.0.219", features = ["derive", "serde_derive"] } diff --git a/src/firmware/xbuilder.rs b/src/firmware/xbuilder.rs index 2479ba0..68b1d7f 100644 --- a/src/firmware/xbuilder.rs +++ b/src/firmware/xbuilder.rs @@ -27,12 +27,20 @@ impl Peekable for LastBuildFirmware { fn peek(&self) -> Result, Box> { let mut peeked = Vec::new(); - let file = File::open(self.path).unwrap(); + let file = File::open(self.path.clone()).unwrap(); let mut ar = Archive::new(file); for file2 in ar.entries().unwrap() { - let mut f = file2.unwrap(); - peeked.push(f.path().unwrap().file_name().unwrap().to_str().unwrap()); + let f = file2.unwrap(); + peeked.push( + f.path() + .unwrap() + .file_name() + .unwrap() + .to_str() + .unwrap() + .to_string(), + ); } Ok(peeked) @@ -40,8 +48,6 @@ impl Peekable for LastBuildFirmware { } pub fn read_last_build_firmwares() -> Result, Box> { - let mut result = Vec::new(); - // get config let ucfg = common::get_config(); let firmware_dir = ucfg @@ -49,30 +55,32 @@ pub fn read_last_build_firmwares() -> Result, Box = meta.modified()?.into(); + let filename = dir.clone().file_name().to_str().unwrap().to_string(); + let mod_time: DateTime = meta.modified().unwrap().into(); let full_firmware = filename.clone().contains("full"); - result.push(LastBuildFirmware { - path: filename.clone(), + LastBuildFirmware { + path: filename, date: mod_time, is_full: full_firmware, entries: Vec::new(), tags: None, - }); - }); + } + }) + .collect(); Ok(result) }