don't let manual rescheduling affect card stats average

https://forums.ankiweb.net/t/set-due-date-has-a-weird-effect-on-cards-table/9289/2
This commit is contained in:
Damien Elmes 2021-04-15 18:51:39 +10:00
parent 6f3e682c9f
commit 2953a821e5

View file

@ -78,7 +78,8 @@ impl Collection {
let revlog = self.storage.get_revlog_entries_for_card(card.id)?; let revlog = self.storage.get_revlog_entries_for_card(card.id)?;
let average_secs; let average_secs;
let total_secs; let total_secs;
if revlog.is_empty() { let normal_answer_count = revlog.iter().filter(|r| r.button_chosen > 0).count();
if normal_answer_count == 0 {
average_secs = 0.0; average_secs = 0.0;
total_secs = 0.0; total_secs = 0.0;
} else { } else {
@ -86,7 +87,7 @@ impl Collection {
.iter() .iter()
.map(|e| (e.taken_millis as f32) / 1000.0) .map(|e| (e.taken_millis as f32) / 1000.0)
.sum(); .sum();
average_secs = total_secs / (revlog.len() as f32); average_secs = total_secs / normal_answer_count as f32;
} }
let due = if card.original_due != 0 { let due = if card.original_due != 0 {