diff options
| author | lukeflo | 2025-05-24 17:48:09 +0200 |
|---|---|---|
| committer | lukeflo | 2025-05-24 17:48:09 +0200 |
| commit | ee2d8c04c5fdce6e3384ecceee9a5250d8d586fe (patch) | |
| tree | a446028e60a291f29f842cfdd336be790e084ab9 /src | |
| parent | 28030fd0830478872be2b9e86b74e0c054a96111 (diff) | |
| download | bibiman-ee2d8c04c5fdce6e3384ecceee9a5250d8d586fe.tar.gz bibiman-ee2d8c04c5fdce6e3384ecceee9a5250d8d586fe.zip | |
impl loop over pdf files in dir, break if match
Diffstat (limited to 'src')
| -rw-r--r-- | src/bibiman/bibisetup.rs | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/src/bibiman/bibisetup.rs b/src/bibiman/bibisetup.rs index b09747a..b968658 100644 --- a/src/bibiman/bibisetup.rs +++ b/src/bibiman/bibisetup.rs @@ -380,22 +380,43 @@ impl BibiSetup { // break f; // } // } - for file in pdf_files.as_ref().unwrap().iter() { - let filename = file.file_name().unwrap().to_ascii_lowercase(); - if filename.to_str().unwrap() == citekey { - break; - } else if pdf_files.as_ref().unwrap().len() > idx { - break; + + loop { + if idx + 1 > pdf_files.as_ref().unwrap().len() { + break None; + } + let cur_entry = pdf_files.as_ref().unwrap()[idx].clone(); + if cur_entry.is_file() + && cur_entry + .file_name() + .unwrap() + .to_ascii_lowercase() + .to_str() + .unwrap() + == citekey + { + break Some(cur_entry.to_owned().into_os_string()); } else { - idx += 1; + idx += 1 } } - if pdf_files.as_ref().unwrap()[idx].is_file() { - Some(pdf_files.as_ref().unwrap()[idx].to_owned().into_os_string()) - } else { - None - } + // for file in pdf_files.as_ref().unwrap().iter() { + // let filename = file.file_name().unwrap().to_ascii_lowercase(); + // if filename.to_str().unwrap() == citekey { + // break; + // } else if pdf_files.as_ref().unwrap().len() > idx { + // break; + // } else { + // idx += 1; + // } + // } + + // if pdf_files.as_ref().unwrap()[idx].is_file() { + // Some(pdf_files.as_ref().unwrap()[idx].to_owned().into_os_string()) + // } else { + // None + // } }; pdf_file |
