mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
fix latex render progress; display more frequently
This commit is contained in:
parent
49cda5ffbb
commit
0c27126817
2 changed files with 14 additions and 11 deletions
|
@ -6,6 +6,7 @@ from __future__ import annotations
|
|||
import os
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
import urllib.error
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
|
@ -176,23 +177,22 @@ class MediaManager:
|
|||
|
||||
If an error is encountered, returns (note_id, error_message)
|
||||
"""
|
||||
last_progress = intTime()
|
||||
for c, (nid, mid, flds) in enumerate(
|
||||
self.col.db.execute("select id, mid, flds from notes")
|
||||
last_progress = time.time()
|
||||
checked = 0
|
||||
for (nid, mid, flds) in self.col.db.execute(
|
||||
"select id, mid, flds from notes where flds like '%[%'"
|
||||
):
|
||||
if "[" not in flds:
|
||||
continue
|
||||
|
||||
model = self.col.models.get(mid)
|
||||
_html, errors = render_latex_returning_errors(flds, model, self.col)
|
||||
if errors:
|
||||
return (nid, "\n".join(errors))
|
||||
|
||||
if c % 10 == 0:
|
||||
elap = last_progress - intTime()
|
||||
if elap >= 1 and progress_cb is not None:
|
||||
checked += 1
|
||||
elap = time.time() - last_progress
|
||||
if elap >= 0.3 and progress_cb is not None:
|
||||
last_progress = intTime()
|
||||
if not progress_cb(c + 1):
|
||||
if not progress_cb(checked):
|
||||
return None
|
||||
|
||||
return None
|
||||
|
|
|
@ -98,8 +98,11 @@ class MediaChecker:
|
|||
self.progress_dialog = self.mw.progress.start()
|
||||
try:
|
||||
out = self.mw.col.media.render_all_latex(self._on_render_latex_progress)
|
||||
if self.progress_dialog.wantCancel:
|
||||
return
|
||||
finally:
|
||||
self.mw.progress.finish()
|
||||
self.progress_dialog = None
|
||||
|
||||
if out is not None:
|
||||
nid, err = out
|
||||
|
|
Loading…
Reference in a new issue