remove more unwrap
This commit is contained in:
1 parent
5a6747030b
commit
b5b1eb768c
6 files changed
+38
-26
No files matched your search
@@ -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(())
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user