diff options
author | Joris | 2022-11-27 15:38:39 +0100 |
---|---|---|
committer | Joris | 2022-11-27 15:38:39 +0100 |
commit | d3fb69cf129fe70c932a5d82fdd1bcc613544b5b (patch) | |
tree | 6a098c7900f96791489b8548979fb71ccea03e59 /src/deck.rs | |
parent | 765ba94cdd65184bd4b443c3a946d0d96dc805d6 (diff) | |
download | flashcards-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.rs | 12 |
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), }) } } |