Fixing partial adding bug
This commit is contained in:
+1
-26
@@ -655,7 +655,7 @@ impl CardSetSettings {
|
||||
count: None,
|
||||
worst_words_list: None,
|
||||
open_mode: OrderMode::Default,
|
||||
append_mode: AppendMode::Full,
|
||||
append_mode: AppendMode::Manual,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -719,29 +719,4 @@ impl CardSetSettings {
|
||||
pub fn require_speech(&self) -> bool {
|
||||
self.forward == "speech" || self.backward == "speech"
|
||||
}
|
||||
|
||||
pub(crate) fn update_worst_words(&mut self, state: &AppState) {
|
||||
if self.worst_words_list.is_some() {
|
||||
return;
|
||||
}
|
||||
|
||||
let connection = &state.connection;
|
||||
let mut stats = load_stats_of_set(self, connection);
|
||||
stats.sort_by_key(|s| s.calculated_score() as i32);
|
||||
let avg = stats.iter().map(|s| s.calculated_score()).sum::<f32>() / stats.len() as f32;
|
||||
let avg = avg * 0.7;
|
||||
let bad: Vec<WordData> = stats
|
||||
.iter()
|
||||
.take_while(|word| word.calculated_score() < avg)
|
||||
.map(|stat| {
|
||||
state.dictionary[state
|
||||
.dictionary
|
||||
.binary_search_by_key(&stat.word_id, |x| x.id)
|
||||
.unwrap()]
|
||||
.clone()
|
||||
})
|
||||
.collect();
|
||||
|
||||
self.worst_words_list = Some(bad.clone());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user