aboutsummaryrefslogtreecommitdiff
path: root/src/deck.rs
diff options
context:
space:
mode:
authorJoris2022-11-27 15:38:39 +0100
committerJoris2022-11-27 15:38:39 +0100
commitd3fb69cf129fe70c932a5d82fdd1bcc613544b5b (patch)
tree6a098c7900f96791489b8548979fb71ccea03e59 /src/deck.rs
parent765ba94cdd65184bd4b443c3a946d0d96dc805d6 (diff)
downloadflashcards-d3fb69cf129fe70c932a5d82fdd1bcc613544b5b.tar.gz
flashcards-d3fb69cf129fe70c932a5d82fdd1bcc613544b5b.tar.bz2
flashcards-d3fb69cf129fe70c932a5d82fdd1bcc613544b5b.zip
Speed up deck synchronization
Apply changes for what has been inserted, updated, removed. Also use transactions to speed up multi-writing.
Diffstat (limited to 'src/deck.rs')
-rw-r--r--src/deck.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/deck.rs b/src/deck.rs
index d23529f..0c302e1 100644
--- a/src/deck.rs
+++ b/src/deck.rs
@@ -1,4 +1,4 @@
-use crate::{model::entry::Entry, util::serialization};
+use crate::{model::Line, util::serialization};
use anyhow::{Error, Result};
use std::fmt;
use std::fs::File;
@@ -23,10 +23,10 @@ impl std::error::Error for ParseError {
}
}
-pub fn read(deck: &str) -> Result<Vec<Entry>> {
+pub fn read(deck: &str) -> Result<Vec<Line>> {
let file = File::open(deck)?;
let reader = BufReader::new(file);
- let mut entries: Vec<Entry> = Vec::new();
+ let mut entries: Vec<Line> = Vec::new();
for (index, line) in reader.lines().enumerate() {
let line = line?;
@@ -57,9 +57,9 @@ pub fn read(deck: &str) -> Result<Vec<Entry>> {
.to_string(),
}));
} else {
- entries.push(Entry {
- part_1: serialization::line_to_words(&t1.to_string()),
- part_2: serialization::line_to_words(&t2.to_string()),
+ entries.push(Line {
+ part_1: serialization::line_to_words(t1),
+ part_2: serialization::line_to_words(t2),
})
}
}