Damien Elmes
344b111b80
centralize all tmp dir access
2011-04-28 09:24:03 +09:00
Damien Elmes
d96a0eaf08
rev count should be decremented on fetch
2011-04-28 09:24:03 +09:00
Damien Elmes
786600ebb6
check python version and locale on load
2011-04-28 09:24:03 +09:00
Damien Elmes
e38125d9aa
predictable review queue randomization
2011-04-28 09:24:03 +09:00
Damien Elmes
ce0df2652f
add utils for adding/removing tags
2011-04-28 09:24:03 +09:00
Damien Elmes
f7c11f5771
fix accidental inverted colours
2011-04-28 09:24:03 +09:00
Damien Elmes
aac840f375
remove redundant cardHasTag()
2011-04-28 09:24:03 +09:00
Damien Elmes
173379f451
minor utils tweaks
2011-04-28 09:24:03 +09:00
Damien Elmes
84d59e4b01
don't truncate sort field anymore, since we display it in the gui
2011-04-28 09:24:03 +09:00
Damien Elmes
e8d6714130
make sure the failed card count reflects the cutoff
2011-04-28 09:24:03 +09:00
Damien Elmes
8b747c3aac
allow the user to choose if case should be folded
2011-04-28 09:24:03 +09:00
Damien Elmes
bee14e1a0b
make fieldNames() available for gui code too
2011-04-28 09:24:03 +09:00
Damien Elmes
d51cd5a433
find & replace
2011-04-28 09:24:03 +09:00
Damien Elmes
98a63285e1
port changeModel()
2011-04-28 09:24:02 +09:00
Damien Elmes
1baa7bb5b6
reload field map on fact load(); order by ordinal not id
2011-04-28 09:24:02 +09:00
Damien Elmes
5619959b5a
when reloading card, make sure cache is discarded
2011-04-28 09:24:02 +09:00
Damien Elmes
572fe6041a
convert some list comps to generators
2011-04-28 09:24:02 +09:00
Damien Elmes
d7b86da811
canonify tags after bulk update
2011-04-28 09:24:02 +09:00
Damien Elmes
93d80678f9
_fields -> fields
2011-04-28 09:24:02 +09:00
Damien Elmes
89673f0c0a
if no tags were provided, just return
2011-04-28 09:24:02 +09:00
Damien Elmes
d611299715
make sure add/delTags() is limited to provided ids
2011-04-28 09:24:02 +09:00
Damien Elmes
96d3a25c9a
add hook into upgrade
2011-04-28 09:24:02 +09:00
Damien Elmes
e344e1a6a8
default to a useful model id on upgrade
2011-04-28 09:24:02 +09:00
Damien Elmes
6be313bcd3
updateCardGids()
2011-04-28 09:24:02 +09:00
Damien Elmes
8c1c729544
fix card state negation
2011-04-28 09:24:02 +09:00
Damien Elmes
437b4780c0
add missing cardIvl sort
2011-04-28 09:24:02 +09:00
Damien Elmes
13a484ea36
allow user to abort schema mod
2011-04-28 09:24:02 +09:00
Damien Elmes
e339df5ef8
ensure first field can be sorted, flush config out, and ensure schema mod
2011-04-28 09:24:02 +09:00
Damien Elmes
1b3548f164
fix sorting by ease
2011-04-28 09:24:02 +09:00
Damien Elmes
2a225b1fae
use the sort property set in the deck
2011-04-28 09:24:02 +09:00
Damien Elmes
d089deae5a
add the ability to reverse sort order
2011-04-28 09:24:02 +09:00
Damien Elmes
6617214708
add recent list; fix groups
2011-04-28 09:24:02 +09:00
Damien Elmes
7ffff24790
fix case where multiple models have the same template
2011-04-28 09:24:02 +09:00
Damien Elmes
d6116a5377
model and group searching
2011-04-28 09:24:02 +09:00
Damien Elmes
aacb57c196
add a countless group tree too
2011-04-28 09:24:02 +09:00
Damien Elmes
9ebbdc2be1
sort by card ordinal after fact sort
2011-04-28 09:24:02 +09:00
Damien Elmes
efe6177c7a
refactor ordering
2011-04-28 09:24:02 +09:00
Damien Elmes
291bd399b7
field searching
...
dropped support for field:foo, as you can type 'foo:' instead to accomplish
the same thing
2011-04-28 09:24:01 +09:00
Damien Elmes
57938927e7
users can pass a number for template ordinal; makes show:one obsolete
2011-04-28 09:24:01 +09:00
Damien Elmes
94d4e319ae
fids and template searches
2011-04-28 09:24:01 +09:00
Damien Elmes
a13c18cf4b
start refactoring find code
2011-04-28 09:24:01 +09:00
Damien Elmes
2343222245
remove rest of q/a searching
2011-04-28 09:24:01 +09:00
Damien Elmes
69a9d665e3
question/answer searching is obsolete
2011-04-28 09:24:01 +09:00
Damien Elmes
4ffd239ea8
remove obsolete striphtmlalt
2011-04-28 09:24:01 +09:00
Damien Elmes
2dfdfad6f2
update license link
2011-04-28 09:24:01 +09:00
Damien Elmes
8fcc6b3085
gpl3->agpl
2011-04-28 09:24:01 +09:00
Damien Elmes
c5e7756304
ensure model/template gid exists; mark schema modified when group deleted
2011-04-28 09:24:01 +09:00
Damien Elmes
86a7106eab
when deleting a group, update cards and facts too
2011-04-28 09:24:01 +09:00
Damien Elmes
673913a2a8
fix group tree when no cards use a group
2011-04-28 09:24:01 +09:00
Damien Elmes
95b3f60353
strip sox munging
2011-04-28 09:24:01 +09:00
Damien Elmes
82d006d145
strip noise profile code
2011-04-28 09:24:01 +09:00
Damien Elmes
c682080890
make it easier to get media dir; remove tidyHTML()
2011-04-28 09:24:01 +09:00
Damien Elmes
6ed48171fc
add a default group to model, add groupName()
2011-04-28 09:24:01 +09:00
Damien Elmes
f256d18971
return fields in sorted order
2011-04-28 09:24:01 +09:00
Damien Elmes
ab3a86d44e
add noautosub arg to mplayer
2011-04-28 09:24:01 +09:00
Damien Elmes
c799b7c97e
include model name in stdmodels; provide ability to get model outside cache
2011-04-28 09:24:01 +09:00
Damien Elmes
de81f0238a
template moving
2011-04-28 09:24:01 +09:00
Damien Elmes
c8b16a0e0e
accept a reload argument in q()
2011-04-28 09:24:01 +09:00
Damien Elmes
dba04598ae
pad ivl graph
2011-04-28 09:24:01 +09:00
Damien Elmes
9705dbdcfe
small tweaks
2011-04-28 09:24:01 +09:00
Damien Elmes
fba161d0b1
tablify info
2011-04-28 09:24:01 +09:00
Damien Elmes
5dc418060e
fix forecost avg calculation
2011-04-28 09:24:00 +09:00
Damien Elmes
02b1494a10
improve review time data; make sure graph bounds include end points
2011-04-28 09:24:00 +09:00
Damien Elmes
4c8eec5659
duplicate imports
2011-04-28 09:24:00 +09:00
Damien Elmes
84d2f32685
move graph code into stats.py; remove old deck stats
2011-04-28 09:24:00 +09:00
Damien Elmes
4be8b9d38c
fix zerodiv and other errors
2011-04-28 09:24:00 +09:00
Damien Elmes
a856665824
give the pie a background again
2011-04-28 09:24:00 +09:00
Damien Elmes
b47275599b
fix selective on some graphs; tweak pie layout
2011-04-28 09:24:00 +09:00
Damien Elmes
2d8faa8608
give the forecast a sensible limit
2011-04-28 09:24:00 +09:00
Damien Elmes
b5c8ba7b9f
apply selective to card/fact counts
2011-04-28 09:24:00 +09:00
Damien Elmes
525787b33f
tweak call args
2011-04-28 09:24:00 +09:00
Damien Elmes
014cc035ee
add selective study limits to remaining graphs
2011-04-28 09:24:00 +09:00
Damien Elmes
be7794bb56
include day/week info too
2011-04-28 09:24:00 +09:00
Damien Elmes
ed9901a71d
add average review # to forecast
2011-04-28 09:24:00 +09:00
Damien Elmes
30d62875d0
css, more layout tweaks, add suspended back into display
2011-04-28 09:24:00 +09:00
Damien Elmes
282d0bb9ba
add deck creation date
2011-04-28 09:24:00 +09:00
Damien Elmes
a5d751283b
add a separate _title()
2011-04-28 09:24:00 +09:00
Damien Elmes
f67c72bec3
move the graph layout around
2011-04-28 09:24:00 +09:00
Damien Elmes
2479913f9b
add a pie graph, add average interval to ivls area
2011-04-28 09:24:00 +09:00
Damien Elmes
c64c7a2acb
hide the cumulative graph if datapoints < 2
2011-04-28 09:24:00 +09:00
Damien Elmes
74a52694ec
for daily graph, use minutes instead of hours
2011-04-28 09:24:00 +09:00
Damien Elmes
e950c8af1c
just chop off options/group completely
2011-04-28 09:24:00 +09:00
Damien Elmes
0b92423cf7
settings->options, return bool for syncingEnabled
2011-04-28 09:24:00 +09:00
Damien Elmes
4af961f1d0
put langs in lang
2011-04-28 09:24:00 +09:00
Damien Elmes
11f3de525f
groupConf() takes gcid, not gid
2011-04-28 09:23:59 +09:00
Damien Elmes
692fba2ea3
use the deck's groups instead of holding on to a private copy
2011-04-28 09:23:59 +09:00
Damien Elmes
e93ded1e04
update a few group configs
2011-04-28 09:23:59 +09:00
Damien Elmes
4b9c6fc822
track gcid additions too
2011-04-28 09:23:59 +09:00
Damien Elmes
77ee8f1385
ditch useGroups
2011-04-28 09:23:59 +09:00
Damien Elmes
f75e2af195
use a single group setting
2011-04-28 09:23:59 +09:00
Damien Elmes
73625e5751
include the gid in the tree so we can tell which groups are real
2011-04-28 09:23:59 +09:00
Damien Elmes
fc96e12a0a
add some randomness to lrn interval
2011-04-28 09:23:59 +09:00
Damien Elmes
495b058618
include total count in with rev+due
2011-04-28 09:23:59 +09:00
Damien Elmes
2a1355eb16
make the group tree part of the scheduler instead
2011-04-28 09:23:59 +09:00
Damien Elmes
728715ff84
counts by group
2011-04-28 09:23:59 +09:00
Damien Elmes
2d00163323
tree grouping; add column to groups so they can remember tags
2011-04-28 09:23:59 +09:00
Damien Elmes
e547b0586a
simplify undo
...
The undo code was using triggers and a temporary table to write out all changed rows before making a change. This made for powerful undo/redo support, but had some problems:
- creating the tables and triggers wasn't cheap, especially on mobile devices
- likewise, every data modification required writing into two separate databases, almost doubling the amount of writes required
- it was possible to leave the DB in an inconsistent state if an undoable operation is followed by a non-undoable operation that references the undoable operation, and the user then rolls back the undoable operation.
To address these issues, we simplify undo by integrating it with the autosave changes:
- .save() can be passed a name to mark a rollback point. If the user undoes the change, any changes since the last save are lost
- autosaves happen every 5 minutes, and are pushed back on a .save(), so the maximum work a user can lose is 5 minutes.
- reviews are handled separately, so we can let the user undo multiple reviews at once
- if necessary, special cases could be added for other operations like marking
This means that if a user does two damaging operations in a row they won't be able to restore the first one, but such an event is both unlikely, and is also covered by the backups made each time a deck is opened.
2011-04-28 09:23:59 +09:00
Damien Elmes
01eb8d98a5
update order consts
2011-04-28 09:23:59 +09:00
Damien Elmes
2d6e9cc186
shorten some queue options
2011-04-28 09:23:59 +09:00
Damien Elmes
5914761ff8
don't die if the reps data is empty
2011-04-28 09:23:59 +09:00