diff --git a/src/reviewer_card_stats/reviewer_card_stats.py b/src/reviewer_card_stats/reviewer_card_stats.py old mode 100644 new mode 100755 index c8611a6..0d001d3 --- a/src/reviewer_card_stats/reviewer_card_stats.py +++ b/src/reviewer_card_stats/reviewer_card_stats.py @@ -23,9 +23,6 @@ from aqt.webview import AnkiWebView import aqt.stats import time -import datetime -from anki.lang import _ -from anki.utils import fmtTimeSpan from anki.stats import CardStats @@ -45,12 +42,13 @@ def closeEvent(self, evt): QDockWidget.closeEvent(self, evt) dock = DockableWithClose(title, mw) dock.setObjectName(title) - dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) - dock.setFeatures(QDockWidget.DockWidgetClosable) + dock.setAllowedAreas(Qt.DockWidgetArea.LeftDockWidgetArea | + Qt.DockWidgetArea.RightDockWidgetArea) + dock.setFeatures(QDockWidget.DockWidgetFeature.DockWidgetClosable) dock.setWidget(w) if mw.width() < 600: mw.resize(QSize(600, mw.height())) - mw.addDockWidget(Qt.RightDockWidgetArea, dock) + mw.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, dock) return dock def _remDockable(self, dock): @@ -62,7 +60,7 @@ class ThinAnkiWebView(AnkiWebView): def sizeHint(self): return QSize(200, 100) self.web = ThinAnkiWebView() - self.shown = self._addDockable(_("Card Info"), self.web) + self.shown = self._addDockable("Card Info", self.web) self.shown.closed.connect(self._onClosed) self._update() @@ -91,16 +89,15 @@ def _revlogData(self, card, cs): "from revlog where cid = ?", card.id) if not entries: return "" - s = "
%s | " % _("Date") + s = "
---|
%s | " % "Date" s += ("%s | " * 6) % ( - _("Type"), _("Rating"), _("Interval"), "IntDate", _("Ease"), _("Time")) + "Type", "Rating", "Interval", "IntDate", "Ease", "Time") cnt = 0 for (date, ease, ivl, factor, taken, type) in reversed(entries): cnt += 1 - s += "
---|---|
%s | " % time.strftime(_("%Y-%m-%d @ %H:%M"), + s += "|
%s | " % time.strftime("%Y-%m-%d @ %H:%M", time.localtime(date)) - tstr = [_("Learn"), _("Review"), _("Relearn"), _("Filtered"), - _("Resched")][type] + tstr = ["Learn", "Review", "Relearn", "Filtered", "Resched"][type] import anki.stats as st fmt = "%s" @@ -120,12 +117,12 @@ def _revlogData(self, card, cs): int_due = "na" if ivl > 0: int_due_date = time.localtime(date + (ivl * 24 * 60 * 60)) - int_due = time.strftime(_("%Y-%m-%d"), int_due_date) + int_due = time.strftime("%Y-%m-%d", int_due_date) #################### if ivl == 0: - ivl = _("0d") + ivl = "0d" elif ivl > 0: - ivl = fmtTimeSpan(ivl * 86400, short=True) + ivl = mw.col.format_timespan(ivl * 86400) else: ivl = cs.time(-ivl) @@ -138,11 +135,29 @@ def _revlogData(self, card, cs): cs.time(taken)) + "
" txt += self._revlogData(cc, cs) lc = r.lastCard() if lc: - txt += _("
" txt += self._revlogData(lc, cs) if not txt: - txt = _("No current card or last card.") + txt = "No current card or last card." style = self._style() self.web.setHtml("""