mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
init progress handle at start, tweaks for faster deck startup
This commit is contained in:
parent
0959689463
commit
51213784a8
1 changed files with 10 additions and 10 deletions
20
anki/deck.py
20
anki/deck.py
|
@ -135,12 +135,7 @@ class Deck(object):
|
||||||
self.reviewedAheadCards = []
|
self.reviewedAheadCards = []
|
||||||
self.extraNewCards = 0
|
self.extraNewCards = 0
|
||||||
self.reviewEarly = False
|
self.reviewEarly = False
|
||||||
try:
|
self.progressHandlerCalled = 0
|
||||||
self.progressHandlerCalled = 0
|
|
||||||
self.engine.raw_connection().set_progress_handler(
|
|
||||||
self.progressHandler, 100)
|
|
||||||
except:
|
|
||||||
print "please install pysqlite 2.4 for better progress dialogs"
|
|
||||||
self.progressHandlerEnabled = False
|
self.progressHandlerEnabled = False
|
||||||
|
|
||||||
def modifiedSinceSave(self):
|
def modifiedSinceSave(self):
|
||||||
|
@ -2451,6 +2446,11 @@ class DeckStorage(object):
|
||||||
deck.engine = engine
|
deck.engine = engine
|
||||||
deck.Session = session
|
deck.Session = session
|
||||||
deck.needLock = lock
|
deck.needLock = lock
|
||||||
|
try:
|
||||||
|
deck.engine.raw_connection().set_progress_handler(
|
||||||
|
deck.progressHandler, 100)
|
||||||
|
except:
|
||||||
|
print "please install pysqlite 2.4 for better progress dialogs"
|
||||||
deck.s = SessionHelper(s, lock=lock)
|
deck.s = SessionHelper(s, lock=lock)
|
||||||
deck.s.execute("pragma locking_mode = exclusive")
|
deck.s.execute("pragma locking_mode = exclusive")
|
||||||
# force a write lock
|
# force a write lock
|
||||||
|
@ -2950,14 +2950,14 @@ nextFactor, reps, thinkingTime, yesCount, noCount from reviewHistory""")
|
||||||
deck.s.execute("analyze")
|
deck.s.execute("analyze")
|
||||||
deck.version = 32
|
deck.version = 32
|
||||||
deck.s.commit()
|
deck.s.commit()
|
||||||
# this check we do regardless of version number since doing it on init
|
# executing a pragma here is very slow on large decks, so we store
|
||||||
# seems to crash
|
# our own record
|
||||||
if (deck.s.scalar("pragma page_size") == 1024 or
|
if not deck.getInt("pageSize") == 4096:
|
||||||
deck.s.scalar("pragma legacy_file_format") == 1):
|
|
||||||
deck.s.commit()
|
deck.s.commit()
|
||||||
deck.s.execute("pragma page_size = 4096")
|
deck.s.execute("pragma page_size = 4096")
|
||||||
deck.s.execute("pragma legacy_file_format = 0")
|
deck.s.execute("pragma legacy_file_format = 0")
|
||||||
deck.s.execute("vacuum")
|
deck.s.execute("vacuum")
|
||||||
|
deck.setVar("pageSize", 4096)
|
||||||
if prog:
|
if prog:
|
||||||
deck.finishProgress()
|
deck.finishProgress()
|
||||||
return deck
|
return deck
|
||||||
|
|
Loading…
Reference in a new issue