From 2953a821e587f6cbf1a312a5eec984e4da5c3d25 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 15 Apr 2021 18:51:39 +1000 Subject: [PATCH] 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 --- rslib/src/stats/card.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rslib/src/stats/card.rs b/rslib/src/stats/card.rs index 67a6633bb..7d66f3a0a 100644 --- a/rslib/src/stats/card.rs +++ b/rslib/src/stats/card.rs @@ -78,7 +78,8 @@ impl Collection { let revlog = self.storage.get_revlog_entries_for_card(card.id)?; let average_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; total_secs = 0.0; } else { @@ -86,7 +87,7 @@ impl Collection { .iter() .map(|e| (e.taken_millis as f32) / 1000.0) .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 {