remove more unwrap

This commit is contained in:
micialware committed 2026-08-24 23:10:23 +03:00
1 parent 5a6747030b
commit b5b1eb768c
6 files changed
+38 -26

No files matched your search

+12 -10
View File
@@ -1,6 +1,6 @@
use crate::core::srs::WordOpenMode;
use crate::data::entities::HistoryItem;
use crate::data::Id;
use crate::data::entities::HistoryItem;
use crate::fs::*;
use crate::notification::NotificationData;
use crate::notification::NotificationData::PermissionDenied;
@@ -20,13 +20,16 @@ pub fn get_history_of_set(id: Id) -> Result<Vec<HistoryItem>, NotificationData>
Ok(parse_history_items(lines))
}
fn append_lines_if_exists(path: PathBuf, lines: &mut Vec<String>) {
fn append_lines_if_exists(path: PathBuf, lines: &mut Vec<String>) -> Result<(), NotificationData> {
if path.exists() {
let reader = BufReader::new(File::open(path).unwrap());
for line in reader.lines() {
lines.push(line.unwrap());
}
let reader = BufReader::new(File::open(path).map_err(|_| PermissionDenied)?);
reader
.lines()
.map_while(Result::ok)
.for_each(|i| lines.push(i));
}
Ok(())
}
fn parse_history_items(strings: Vec<String>) -> Vec<HistoryItem> {
@@ -37,12 +40,13 @@ fn parse_history_items(strings: Vec<String>) -> Vec<HistoryItem> {
if id.is_err() {
continue;
}
let id = id.unwrap();
let id = id.unwrap_or_default();
if !id.is_valid() {
continue;
}
items.push(HistoryItem {
timestamp: DateTime::from_timestamp(time.parse().unwrap_or_default(), 0).unwrap_or_default(),
timestamp: DateTime::from_timestamp(time.parse().unwrap_or_default(), 0)
.unwrap_or_default(),
word_id: id,
mode: match mode.parse::<u8>().unwrap_or_default() {
2 => WordOpenMode::Hard,
@@ -84,5 +88,3 @@ pub fn push_note(set_id: Id, item: HistoryItem) -> Result<(), NotificationData>
writeln!(&mut file, "{}", line_str).map_err(|_| PermissionDenied)?;
Ok(())
}