Damien Elmes
308846aa93
be consistent in review/rev, etc
2011-04-28 09:23:56 +09:00
Damien Elmes
368bdf8d05
set the new types on upgrade
2011-04-28 09:23:56 +09:00
Damien Elmes
22a72d82c6
give card types a more logical order
...
they are now 0=new, 1=learning, 2=due, to reflect the natural progression
2011-04-28 09:23:56 +09:00
Damien Elmes
6f5918e8cd
move reset etc code into sched
2011-04-28 09:23:56 +09:00
Damien Elmes
be56912caf
strip all the old cram code; add way to start cramming from deck
2011-04-28 09:23:56 +09:00
Damien Elmes
17f3cabc25
more unit tests, and unbury on close
2011-04-28 09:23:56 +09:00
Damien Elmes
5e0cc2ff5d
next time reports and associated unit tests
2011-04-28 09:23:56 +09:00
Damien Elmes
9e46db5b3e
update finished msg
2011-04-28 09:23:56 +09:00
Damien Elmes
0a9d032343
remove review early and learn more
2011-04-28 09:23:56 +09:00
Damien Elmes
a7ec356e0d
add tests for leech handling
2011-04-28 09:23:56 +09:00
Damien Elmes
908dccc2c0
implement new review code, add unit tests
...
Instead of the old approach to sibling spacing, we instead try to pick a due
date that doesn't have any siblings.
2011-04-28 09:23:56 +09:00
Damien Elmes
ca0748b664
limit counts to 1000, at least for now
2011-04-28 09:23:56 +09:00
Damien Elmes
4a6b5c9105
generate the counts separately, so they're not limited by queueLimit
...
this has a negative performance impact on decks with many new cards or reviews
due, but we can't limit the counts to 200 without annoying people
2011-04-28 09:23:55 +09:00
Damien Elmes
14c49a50cd
more learning unit tests
2011-04-28 09:23:55 +09:00
Damien Elmes
96f36e66f7
parse tags when creating fact, add selective study, fix emptyAns default
2011-04-28 09:23:55 +09:00
Damien Elmes
1c1ad88973
fix setting of gid and ordinal on import
2011-04-28 09:23:55 +09:00
Damien Elmes
ba09529e34
speed up the revlog migration, tweak db handling
...
remove the unnecessary transaction magic; we just needed to make sure to
lock again after undo is initialized
2011-04-28 09:23:55 +09:00
Damien Elmes
e49211c5b6
add edue to cards
...
The 'entry due' is the due time of a failed card before it enters the learning
queue. When the card graduates or is removed, it has its old due time
restored. We could pull this from the revlog, but it's cheaper to do it this
way.
2011-04-28 09:23:55 +09:00
Damien Elmes
17ee7757de
add some group utilities
2011-04-28 09:23:55 +09:00
Damien Elmes
f9c3b27e5d
give facts a group, so that cards can have their group reset if necessary
2011-04-28 09:23:55 +09:00
Damien Elmes
a702e03df0
add an option to disable the lock
2011-04-28 09:23:55 +09:00
Damien Elmes
945e5e9da8
fix upgrade code for the lock hack
2011-04-28 09:23:55 +09:00
Damien Elmes
9226922af8
properly lock the DB
2011-04-28 09:23:55 +09:00
Damien Elmes
c17758b01c
whoops, they're in miliseconds
2011-04-28 09:23:55 +09:00
Damien Elmes
cddbf02734
make sure we return an integer
2011-04-28 09:23:55 +09:00
Damien Elmes
7acda0f06d
remove some unused hooks
2011-04-28 09:23:55 +09:00
Damien Elmes
511d6e89a1
remove progress handling code; we'll do it in the GUI or provide cb
2011-04-28 09:23:55 +09:00
Damien Elmes
201e27dd58
add timeToday() and repsToday()
2011-04-28 09:23:55 +09:00
Damien Elmes
174b13f7df
speed up new card fetching, add a text factory arg to the db, fix stopMplayer()
2011-04-28 09:23:55 +09:00
Damien Elmes
ab281d0bc6
remove setuptools
2011-04-28 09:23:55 +09:00
Damien Elmes
64bd1dc06a
remove some old references in exporting; no attempt to update it yet
2011-04-28 09:23:55 +09:00
Damien Elmes
b2f74b2591
minor tweaks to doc
2011-04-28 09:23:55 +09:00
Damien Elmes
e728d49232
delete -> del for consistency
2011-04-28 09:23:55 +09:00
Damien Elmes
f74d9b68fe
trigger the db progress handler after more operations
...
We originally were triggering on 100 opcodes, because at the time we were
doing write-heavy alterations to the DB for inactive tags, and a higher level
of opcodes would pause the interface for a long time. The query structure is
different now, so we can afford to save the overhead of more frequent calls.
With the change, a .reset() triggers the handler 3 times; fixIntegrity()
triggers it 30 times over a period of 4.5 seconds.
2011-04-28 09:23:55 +09:00
Damien Elmes
1dc3a0ad4a
make sure revlog is removed on immediate delete
2011-04-28 09:23:55 +09:00
Damien Elmes
f96a495b53
fact.model -> fact.model()
2011-04-28 09:23:54 +09:00
Damien Elmes
870c80e076
add genCards(), previewCards(), and more unit tests
2011-04-28 09:23:54 +09:00
Damien Elmes
53215230b4
we do the db integrity check on backup so need to in fixIntegrity()
2011-04-28 09:23:54 +09:00
Damien Elmes
98290c485d
fix integrity check, move dynamic indices into scheduler
...
A lot of the old checks in fixIntegrity() are no longer relevant, and some of
the others may no longer be required. They can be added back in as the need
arises.
2011-04-28 09:23:54 +09:00
Damien Elmes
d5cce19b56
store the ordinals in templates/fields
...
this makes it more convenient to pass around templates/fields without having
to instrument them with their position in the list
2011-04-28 09:23:54 +09:00
Damien Elmes
e6a8f7f619
move time & count code into scheduler
2011-04-28 09:23:54 +09:00
Damien Elmes
66dcd45599
use nextID() when adding facts/cards
...
We want to ensure that we never recycle ids from deleted cards. We could do
this with an autoincrement column in sqlite, but it's cheaper for us to handle
the ids ourselves, as the deck object is always in memory.
2011-04-28 09:23:54 +09:00
Damien Elmes
7d52805b41
move changeModel() into models.py. It is not yet ported to the new code
2011-04-28 09:23:54 +09:00
Damien Elmes
0db95ded74
add template deletion & unit test
2011-04-28 09:23:54 +09:00
Damien Elmes
4638d3de46
implement field add/delete/rename/move
...
- now in model.py instead of deck.py
- added unit tests
2011-04-28 09:23:54 +09:00
Damien Elmes
d95cc6c44b
implement sort fields; make sure they're updated on upgrade
2011-04-28 09:23:54 +09:00
Damien Elmes
93dcfceffe
convert templates to a json object, and replace tid with ord
...
it's faster for us to parse another json string than pull a record from a
separate db table, and this makes templates and fields consistent
2011-04-28 09:23:54 +09:00
Damien Elmes
9cec4b2059
ints makes no sense in the context of failed cards; tweak learn code
2011-04-28 09:23:54 +09:00
Damien Elmes
8b46cb4daa
log the fact that we're leaving the learning queue in factor
2011-04-28 09:23:54 +09:00
Damien Elmes
e4cc3e3013
revlog work
...
- remove revlog.py and move code into scheduler
- add a routine to log a learn repetition
- rename flags to type and set type=0 for learn mode
- add to unit test
2011-04-28 09:23:54 +09:00