Damien Elmes
c415c437de
check bs version
2012-04-22 04:51:09 +09:00
Damien Elmes
cdffab235c
add option to dump db args
2012-04-21 08:57:08 +09:00
Damien Elmes
f16335ee7f
use a smaller range for random numbers
...
Using 2**32 is the technically superior solution, since it minimizes the chance of multiple notes sharing a due # (which has implicates for sibiling spacing), but the large numbers are confusing to users.
2012-04-21 08:56:56 +09:00
Damien Elmes
b4cf7e39b5
i18n empty cards msg
2012-04-21 07:25:41 +09:00
Damien Elmes
9fab2834da
cloze generation needs to use provided fields, not field 0
2012-04-21 07:25:35 +09:00
Damien Elmes
7c51a7bb16
update sort field when field moved
2012-04-21 06:40:20 +09:00
Damien Elmes
c2df347909
catch attempt to delete last template
2012-04-20 22:37:31 +09:00
Damien Elmes
4b3e1f0d2b
accept a string did in remDyn()
2012-04-20 02:19:00 +09:00
Damien Elmes
625a77f7f8
strip \n in csv tags:
2012-04-20 02:17:44 +09:00
Damien Elmes
a3407020cb
split empty card removal into separate report
2012-04-19 11:14:57 +09:00
Damien Elmes
fe0e227325
don't upgrade clozes while iterating
2012-04-19 09:58:12 +09:00
Damien Elmes
5cbe93b63d
more cloze work
...
- upgrade old decks
- specify the field in the cloze, so the user can have an id in the first
field
2012-04-19 08:32:19 +09:00
Damien Elmes
41fa9a9896
cloze refactor wip
2012-04-19 07:14:03 +09:00
Damien Elmes
20ecd7359d
when resetting lrn reps, need to choose between lrn/lapse
2012-04-19 05:53:24 +09:00
Damien Elmes
f963a31d9c
must set factor when cards are rescheduled as a review
2012-04-19 04:40:43 +09:00
Damien Elmes
336b1e7c58
fix bugs with daily counts
...
- When we reset() the deck, we need to update the daily counts for all decks,
not just the selected ones, or the deck list is inaccurate
- We don't want to save the decks at that time, or simply opening Anki on
another machine will cause a conflict with all decks
2012-04-19 02:45:46 +09:00
Damien Elmes
609e165c95
use deck of existing cards if all use same deck
2012-04-18 05:24:02 +09:00
Damien Elmes
c0b1fb9c5f
allow "a:" to be translated to "a :" in French
2012-04-18 04:21:58 +09:00
Damien Elmes
cbdd152f36
factor langDir into separate func
2012-04-18 03:19:47 +09:00
Damien Elmes
a0578f73d1
add option to revert to default deck
2012-04-18 02:03:57 +09:00
Damien Elmes
35f89bfea7
collapse relearning to 2 buttons if single step
2012-04-18 01:59:51 +09:00
Damien Elmes
44d62d6a41
fix remEmptyCards filter arg order
2012-04-18 01:59:38 +09:00
Damien Elmes
55812bef86
remove cards from cram decks and the relearning queue on suspend
2012-04-17 22:53:48 +09:00
Damien Elmes
1b6cf2bef8
when a card is in an invalid deck, report that in its name
2012-04-17 22:22:04 +09:00
Damien Elmes
2ad98f063a
ignore cram decks when deleting options groups
2012-04-17 20:37:17 +09:00
Damien Elmes
d429519929
return check db status
2012-04-17 20:16:41 +09:00
Damien Elmes
fbefb8a906
remove is:recent
2012-04-17 18:31:46 +09:00
Damien Elmes
2149502a77
fix translation of queue order labels
2012-04-17 17:53:02 +09:00
Damien Elmes
29cb76de8f
add check for broken review due #s
2012-04-12 17:30:14 +09:00
Damien Elmes
0da5b36d20
default to a single 10 minute delay for lapses
2012-04-12 01:01:47 +09:00
Damien Elmes
5ac1ec2067
when shifting cards on reschedule, only shift new cards
2012-04-12 00:37:22 +09:00
Damien Elmes
4f8053b165
make sure to export deck creation date on apkg export
2012-04-12 00:34:40 +09:00
Damien Elmes
875a417346
fix exporting of models into apkg
2012-04-12 00:15:56 +09:00
Damien Elmes
2f2a483a49
when queue cleared, force current audio to stop
2012-04-11 20:17:56 +09:00
Damien Elmes
dd9d9f4223
update position on integrity check
2012-04-11 18:10:49 +09:00
Damien Elmes
8a6e9945b2
use human-readable # when generating new cards
2012-04-11 18:09:13 +09:00
Damien Elmes
1077c71c2e
don't throw error in half-complete field filter
2012-04-08 21:39:04 +09:00
Damien Elmes
71645aacb5
fix field deletion issues thanks to illforyou
2012-04-08 20:18:46 +09:00
Damien Elmes
74700ff4f5
add browser selection js
2012-04-08 13:27:03 +09:00
Damien Elmes
ad661add7c
ignore sound: tags when rendering furigana
2012-04-08 09:27:50 +09:00
Damien Elmes
fdb69b2ca9
fix c.q(reload=True)
2012-04-08 09:27:00 +09:00
Damien Elmes
cb1e4d4645
check for missing parents on sync
2012-04-08 09:06:33 +09:00
Damien Elmes
6e8f2f5993
when creating child decks, inherit case from parents
2012-04-08 08:45:36 +09:00
Damien Elmes
e5bf86c40e
add furigana to decks on upgrade
2012-04-07 18:28:31 +09:00
Damien Elmes
5d3e31ca5d
integrate furigana field modifiers
2012-04-07 17:31:19 +09:00
Damien Elmes
bbac32b477
ensure lapsed reviews are scheduled for tomorrow on graduate
2012-04-07 14:28:41 +09:00
Damien Elmes
2f75e99671
ntype -> note
2012-04-07 13:53:55 +09:00
Damien Elmes
2ba5f80cf1
fix field searching and negated field searching
2012-04-07 13:53:03 +09:00
Damien Elmes
e3f64c0f07
if there's no LastRepetition element, don't try import learning data
2012-04-06 19:38:32 +09:00
Damien Elmes
6e7ea8e25b
fix apkg exporting
2012-04-06 19:28:36 +09:00
Damien Elmes
37b89cdac3
fix importing non-latin tags
2012-04-06 19:01:05 +09:00
Damien Elmes
c1242740ac
fix importing of multiline fields
2012-04-06 18:13:21 +09:00
Damien Elmes
13049339ac
add check for first field
2012-04-06 13:35:46 +09:00
Damien Elmes
aa559431b6
on upgrade all cards of a note should share the same due #
2012-04-06 12:45:01 +09:00
Damien Elmes
5c59f6a558
fix illegal check thanks to kostas
2012-04-05 03:50:03 +09:00
Damien Elmes
7553573304
fix earlier cram fix
2012-03-30 02:42:54 +09:00
Damien Elmes
73bdad9d70
model:foo is ntype:foo in searches now
2012-03-30 00:03:39 +09:00
Damien Elmes
07c3297a9a
don't include suspended cards in cram
2012-03-30 00:03:30 +09:00
Damien Elmes
0317e63cfb
remove init docstring; documented in addons.html now
2012-03-28 06:55:23 +09:00
Damien Elmes
245be4c166
obsolete col attrs
2012-03-28 06:40:15 +09:00
Damien Elmes
f7fe1c6590
fix tag:none
2012-03-27 11:18:16 +09:00
Damien Elmes
d8ec8d0389
another rev scheduling bug
2012-03-27 09:15:39 +09:00
Damien Elmes
c62dd41f77
bug in rev scheduling
2012-03-27 05:22:47 +09:00
Damien Elmes
b413b1562a
when updating, preserve unmapped fields
2012-03-25 02:07:20 +09:00
Damien Elmes
5dc69ecd47
when reconnecting media, update cwd
2012-03-25 01:44:52 +09:00
Damien Elmes
83f49246e3
fix due date in card stats
2012-03-25 00:44:23 +09:00
Damien Elmes
cebcce4a34
race condition in sound code
2012-03-25 00:32:59 +09:00
Damien Elmes
7d3698e2c7
don't play audio files more than once
2012-03-24 23:58:37 +09:00
Damien Elmes
eb8326c605
failure mult should only be applied to reviews
2012-03-24 23:58:24 +09:00
Damien Elmes
4b77d1a08d
separate max timer and show timer options
2012-03-24 19:56:05 +09:00
Damien Elmes
ccb0c08c9c
another find&replace bug
2012-03-24 19:03:14 +09:00
Damien Elmes
ce86670c76
find&replace should ignore notes without provided field
2012-03-24 04:06:51 +09:00
Damien Elmes
933bee43a0
use the first hint occurrence for any subsequent clozes
2012-03-22 15:51:36 +09:00
Damien Elmes
47a61abebb
accidentally used mod time instead of creation time for anki1 id
2012-03-20 06:01:25 +09:00
Damien Elmes
8fd1756eb4
remove deck overriding in text file import
2012-03-20 05:43:55 +09:00
Damien Elmes
e41c7738d3
Revert "make importing with an explicit deck work again"
...
This reverts commit f177083bcb .
2012-03-20 05:42:17 +09:00
Damien Elmes
f177083bcb
make importing with an explicit deck work again
...
This change was necessary as we moved away from note decks. However, now that
I think about it, decks may not be a terribly useful thing to specify
per-line in a text file. Committing in case the code is needed later, but I
will revert in the next commit.
2012-03-20 05:41:58 +09:00
Damien Elmes
f57f386b59
add deck and tags as default extra fields
2012-03-20 04:53:00 +09:00
Damien Elmes
f1140cf886
fix inverted deck search case
2012-03-20 02:49:06 +09:00
Damien Elmes
51b70a5787
genCards() on model change
2012-03-20 02:46:45 +09:00
Damien Elmes
5c5341b5e5
make sure we don't modify the active decks during scheduling
2012-03-20 00:37:39 +09:00
Damien Elmes
e9a87b9fd9
apply failure multiplier in cram mode
2012-03-20 00:03:52 +09:00
Damien Elmes
7c712274d8
deck: searches should find it both original and current deck
2012-03-19 22:53:40 +09:00
Damien Elmes
820308e45e
fix args in addSearchFieldToken
2012-03-19 21:50:09 +09:00
Damien Elmes
28b396895a
must make sure to save odid on sched flush
2012-03-19 20:35:25 +09:00
Damien Elmes
f4151d5d83
fix disabling of answer timer
2012-03-16 20:13:25 +09:00
Damien Elmes
62117453ff
timeboxing
2012-03-16 19:56:10 +09:00
Damien Elmes
4c369ba6af
make sure daysLate() works with review cards in a cram deck
2012-03-16 19:08:13 +09:00
Damien Elmes
b5cafd370f
ignore thumbs.db in media sync
2012-03-16 17:11:13 +09:00
Damien Elmes
ef386d8698
anki.cram no longer exists
2012-03-14 00:26:10 +09:00
Damien Elmes
b35b105750
don't clobber decks on upgrade
2012-03-13 23:18:45 +09:00
Damien Elmes
1529c6ae5e
higher default leech threshold
2012-03-13 22:33:01 +09:00
Damien Elmes
17891edb72
card rescheduling needs to bump mod time and usn
2012-03-13 22:28:25 +09:00
Damien Elmes
056e146696
revCardOrderLabels is obsolete
2012-03-13 22:22:06 +09:00
Damien Elmes
f73cbcef51
check httplib2 version
2012-03-13 22:15:44 +09:00
Damien Elmes
1f95045621
store media folder as unicode so we can log updated files in unicode
2012-03-13 22:12:21 +09:00
Damien Elmes
0843db03fd
when graphing deck life, period = first day
2012-03-13 22:02:46 +09:00
Damien Elmes
acd0316a14
more cram orderings, clear out before rebuild
2012-03-13 21:40:31 +09:00
Damien Elmes
81f2a5318f
show lapses in card stats
2012-03-13 21:31:30 +09:00
Damien Elmes
dc85212bfe
remove review order options
...
As cram decks provide a more efficient way of ordering reviews, we can limit
normal reviews to just due order.
2012-03-13 19:25:28 +09:00
Damien Elmes
81c07158e9
make sure reviews are due when cramming
2012-03-13 19:16:39 +09:00
Damien Elmes
60dd0b426c
store order as an index
2012-03-13 18:12:06 +09:00
Damien Elmes
d5dbfa3243
new/rev limits in tree shouldn't be applied for dyn decks
2012-03-12 23:27:12 +09:00
Damien Elmes
5019e46fbf
display due cards in review mode by default
2012-03-12 15:51:03 +09:00
Damien Elmes
f4acae6c1c
add shift paramater in case we make card resched. in cram optional
2012-03-12 15:49:10 +09:00
Damien Elmes
09ca65624a
select the dyn deck as it's created
2012-03-12 14:56:06 +09:00
Damien Elmes
d8a9a5ea1f
card.timeLimit()
2012-03-12 14:04:22 +09:00
Damien Elmes
b9cc9bf0b2
deck upgrade
2012-03-12 13:49:32 +09:00
Damien Elmes
f4e962aa58
make sure we move reviews back to original deck
2012-03-12 12:33:46 +09:00
Damien Elmes
324861a946
or on bury
2012-03-12 12:17:57 +09:00
Damien Elmes
ea64e4da1b
don't need to removeFailed() when suspending
2012-03-12 12:16:37 +09:00
Damien Elmes
dc589a5c15
rescheduling ignores dynamic decks
2012-03-12 12:08:46 +09:00
Damien Elmes
8030b2c969
use type not queue for rev sib. spacing, fix cram case
2012-03-11 14:52:12 +09:00
Damien Elmes
4a12ec62c1
log cram reps separately; fix std rev reps
2012-03-11 14:06:59 +09:00
Damien Elmes
da07e15a87
generalize into 'dynamic decks'
...
- search and limits are embedded in the deck
- decks can be refreshed
- they have the option to treat due reviews normally rather than cram them
- some options are inherited from the original deck, others taken from the
dynamic deck
2012-03-10 19:41:37 +09:00
Damien Elmes
f6b2e69669
remove did from notes, use model did instead
2012-03-09 09:12:27 +09:00
Damien Elmes
ffaf7ffc66
removing cram decks, estimates, failure handling
2012-03-09 06:56:07 +09:00
Damien Elmes
01404fafaa
start of cram refactor
2012-03-08 16:47:22 +09:00
Damien Elmes
a2312f9a1f
change cards table schema
...
In preparation for cramming:
- add odid for storing old deck on a per-card basis
- rename edue to odue
- at the moment note.did still exists, but in the future we may ignore it and
use model.did instead
2012-03-08 11:28:12 +09:00
Damien Elmes
528224895c
make sure we bump usn of revlog import
2012-03-08 08:32:24 +09:00
Damien Elmes
88b2b3ab85
we must bump usn when importing anki1 dconf
2012-03-08 08:25:05 +09:00
Damien Elmes
c92ab5dd19
allow due to be negative so we can reflect overdue cards
2012-03-07 07:11:30 +09:00
Damien Elmes
d1e04b908d
log total imported
2012-03-07 07:08:02 +09:00
Damien Elmes
972526d265
update supermemo importer; fix factor
2012-03-07 06:58:06 +09:00
Damien Elmes
beef571d95
include _, remove some old unittest support files
2012-03-07 06:10:18 +09:00
Damien Elmes
e175dcd2d8
log total notes imported
2012-03-07 06:02:16 +09:00
Damien Elmes
869d665c22
gui integration for mnemosyne
2012-03-07 05:54:57 +09:00
Damien Elmes
1d29c7bcc0
foreign card importing; mnemosyne 2.0 importer
2012-03-07 05:45:52 +09:00
Damien Elmes
66534db987
make the cloze hint a prefix
2012-03-07 03:27:04 +09:00
Damien Elmes
d60a3f8e25
ensure nextPos is not null
2012-03-06 16:21:51 +09:00
Damien Elmes
a99101d95c
initMapping(); csv tweaks
2012-02-29 13:33:55 +09:00
Damien Elmes
44dea8211e
don't strip leading whitespace
2012-02-29 12:51:00 +09:00
Damien Elmes
099ba71bb0
fix updating
2012-02-29 12:49:42 +09:00
Damien Elmes
7189e57e80
csv importing basics
2012-02-29 12:39:35 +09:00
Damien Elmes
54b8ee059f
media importing
2012-02-26 08:13:48 +09:00
Damien Elmes
d7c58f8142
start of packaged deck importing
2012-02-26 06:49:38 +09:00
Damien Elmes
620f16c876
fix forgetCards() bug
2012-02-26 04:30:56 +09:00
Damien Elmes
afbe1a4a64
export card count, remove temp files, check media exists
2012-02-26 03:52:31 +09:00
Damien Elmes
e8aea4d713
fix exporters(), tags need stripping
2012-02-26 03:10:04 +09:00
Damien Elmes
cd5dfa2116
deck and packaged deck export
2012-02-26 01:45:39 +09:00
Damien Elmes
8539c081b3
start porting export code
2012-02-25 22:10:57 +09:00
Damien Elmes
2859f9c39d
add children argument to decks.cids()
2012-02-25 22:10:42 +09:00
Damien Elmes
05782f9080
fix graphs
2012-02-24 22:32:00 +09:00
Damien Elmes
3823151d6f
make sure changes during upgrade don't have side effects
2012-02-24 22:29:04 +09:00
Damien Elmes
3d94e9a386
split jquery libraries up
2012-02-24 20:55:03 +09:00
Damien Elmes
056dd4d68e
remove some dead code thanks to richard
2012-02-24 20:40:17 +09:00
Damien Elmes
d06dccad32
deck list counts should be reps not cards, to match study screen
2012-02-14 12:27:17 +09:00
Damien Elmes
f6f6649062
return the restored card when undoing a review
2012-02-13 12:51:15 +09:00
Damien Elmes
030e5498b3
"this deck"
2012-02-13 12:31:35 +09:00
Damien Elmes
bde4420fb0
don't throw an error on unclosed conditional tags
2012-02-13 12:26:07 +09:00
Damien Elmes
abf6e3fa13
don't fall over if cwd doesn't exist
2012-02-13 12:16:52 +09:00
Damien Elmes
b89dde97a8
fix deck syncing problems
...
- delete only the decks with graves, not any children
- make sure we log the deletion even if the deck didn't exist
2012-02-02 09:52:07 +09:00
Damien Elmes
f9ed0d657c
remove notes field from cloze
2012-01-30 07:45:52 +09:00
Damien Elmes
1800f30776
correctly detect when we don't have a deck conf
2012-01-30 07:31:15 +09:00
Damien Elmes
665fe9c280
allow upgrade of devel-version decks
2012-01-30 06:26:30 +09:00
Damien Elmes
38ec009378
same with card upgrade
2012-01-30 06:24:51 +09:00
Damien Elmes
34ba8e18f1
improve duplicate handling of note ids on upgrade
2012-01-30 06:19:49 +09:00
Damien Elmes
057b13e0af
fix due # rewriting and correctly set nextPos
2012-01-30 05:42:03 +09:00
Damien Elmes
3dc9454cd7
revert to the previous cwd rather than assuming a particular path layout
2012-01-30 05:32:18 +09:00
Damien Elmes
63b5e862b3
Merge branch 'master' of https://github.com/tarix/libanki
2012-01-30 05:28:01 +09:00
mikem
f3847daae4
fix for FileIO exception when deleting a profile from windows
2012-01-29 19:15:12 +09:00
Damien Elmes
3c995017fe
force save after sync
2012-01-26 08:07:27 +09:00
Damien Elmes
58935afba7
when undoing, update daily limits
2012-01-24 23:38:58 +09:00
Damien Elmes
be8bec5bc4
fix ordinal problems rather than aborting upgrade
2012-01-24 23:10:37 +09:00
Damien Elmes
92ee7597a9
make sure we zero the queue when clearing it
2012-01-24 22:59:52 +09:00
Damien Elmes
302541e0c0
fix some audio issues
...
- add a pause between feeding mplayer multiple files, as it loses some of them
otherwise
- in order to do the above, we use mplayerEvt only as a flag and don't make
the main thread wait anymore
- use a different temporary name for each audio file on windows so we can
queue up multiple files at a time
2012-01-24 22:57:39 +09:00
Damien Elmes
2a76c8f4f0
reload card after suspending it in leech handler
...
this fixes the issue with display of due time in browser after an unsuspend
2012-01-24 01:24:46 +09:00
Damien Elmes
4f1bcb9356
fix is:recent
2012-01-24 01:04:49 +09:00
Damien Elmes
766e153840
try to avoid showing the same card twice in a row
2012-01-24 00:43:44 +09:00
Damien Elmes
87a996cdce
add flag fields for conditional templates
2012-01-23 23:57:33 +09:00
Damien Elmes
d9a19f3e5e
fix parent limits on review screen counts
2012-01-23 22:10:03 +09:00
Damien Elmes
245d844616
fix deck list/review screen due count mismatch by fixing .parents()
2012-01-23 21:46:14 +09:00
Kieran Clancy
1c2b6b746f
add hooks for arbitrary field modifiers
2012-01-22 13:24:30 +10:30
nobnago
262e04ed4f
fixes wrong rev queue order
2012-01-17 22:07:42 +01:00
Damien Elmes
1ad65bfb5f
Merge branch 'master' of https://github.com/aaronharsh/libanki
2012-01-17 11:21:30 +09:00
Aaron Harsh
54fe8bb96f
libanki support for drag-and-drop changes of deck hierarchy in deckbrowser
2012-01-15 20:55:29 -08:00
Aaron Harsh
bb7faa5692
Bundle jquery-ui, to be used for drag-and-drop support in deckbrowser
2012-01-15 20:43:52 -08:00
Damien Elmes
89445afc94
remove unused sendHome() for now
2012-01-16 10:15:03 +09:00
Damien Elmes
8ac1587b12
add per-deck due counts back to scheduler
2012-01-16 09:55:44 +09:00
Damien Elmes
12c0c64841
translation dict
2012-01-11 17:25:36 +09:00
Damien Elmes
6f88deab52
add reminder about leading whitespace
2012-01-11 14:47:06 +09:00
Damien Elmes
ebeef6b2e6
remove obsolete lastrowid assignment
2011-12-21 09:53:21 +09:00
Damien Elmes
265b6b990d
base62() should not be locale-dependent
2011-12-20 20:28:56 +09:00
Damien Elmes
e0b7bca155
did could be a string
2011-12-20 19:38:55 +09:00
Damien Elmes
2012d0de39
don't try and replace nbsp
2011-12-20 12:47:56 +09:00
Damien Elmes
3449abe8a0
fix upgrading of decks with extra media fields
2011-12-20 12:40:18 +09:00
Damien Elmes
7b53facc4c
add integrity check back to fixIntegrity
2011-12-18 12:32:44 +09:00
Damien Elmes
fca4ef7c00
strip superfluous spans from 1.2 upgrade
2011-12-18 07:23:26 +09:00
Damien Elmes
e610eeeb42
tweak template upgrading, replace repeated spaces with non-breaking ones
2011-12-17 22:01:50 +09:00
Damien Elmes
9e35e4acf2
template and cloze changes
...
While writing the documentation I realized that the default templates were
somewhat overwhelming. So I've moved the default settings into the card css,
and moved the css into a separate attribute which gets combined with the
question and answer templates.
Also:
- Detect cloze references directly rather than the conditional wrapper
- Add the cloze css to the template
2011-12-17 19:42:30 +09:00
Damien Elmes
619a58216a
don't require fields in cloze del model; remove extra brackets in cloze hints
2011-12-17 15:02:15 +09:00
Damien Elmes
60643b5b1f
human-readable positions for new cards
2011-12-17 08:37:05 +09:00
Damien Elmes
4496782e5b
desc was in wrong location
2011-12-17 08:36:51 +09:00
Damien Elmes
3957f07afb
add media[] for future use
2011-12-16 10:04:19 +09:00
Damien Elmes
5129913f25
fix audio playing on win32
2011-12-16 08:49:27 +09:00
Damien Elmes
1986394e56
don't allow quotes in deck names
2011-12-15 17:29:00 +09:00
Damien Elmes
91f81e9142
timer flag and desc
2011-12-15 14:54:44 +09:00
Damien Elmes
a55088ead4
don't need to cache model anymore
2011-12-15 14:54:32 +09:00
Damien Elmes
5a24074a93
make header and field() public
2011-12-15 14:00:16 +09:00
Damien Elmes
a9c46b5ccb
include subdecks when restricting to deck
2011-12-15 11:57:55 +09:00
Damien Elmes
9187255630
don't include (shared) in shared deck models
2011-12-15 11:53:41 +09:00
Damien Elmes
19435068bb
break removals into separate sync step
2011-12-14 11:42:19 +09:00
Damien Elmes
2c0b3f7c0a
more usn fixes
2011-12-14 10:27:20 +09:00
Damien Elmes
819bc326e0
make sure we set usn correctly on card gen; work even if no existing cards
2011-12-14 10:22:09 +09:00
Damien Elmes
47a170898a
set default deck on upgrade; append old deck name to model
2011-12-14 10:20:56 +09:00
Damien Elmes
5333165c8d
set conf name too on upgrade
2011-12-13 14:00:32 +09:00
Damien Elmes
dc89e34410
fix deck conf syncing
2011-12-13 13:58:31 +09:00
Damien Elmes
bacbea13e0
conf() -> confForDid(); add getConf()
2011-12-13 13:56:05 +09:00
Damien Elmes
0448175d10
when estimating interval, return ideal, not adjusted
2011-12-13 12:20:30 +09:00
Damien Elmes
00becd01eb
add async flag
2011-12-13 12:15:32 +09:00
Damien Elmes
ba0f6f36cc
don't create media db on server
2011-12-13 12:15:13 +09:00
Damien Elmes
5c5181f063
don't switch journal mode back on server
2011-12-13 12:15:03 +09:00
Damien Elmes
a697c292b5
when echo on, log call time too
2011-12-13 12:14:36 +09:00
Damien Elmes
0a677fee56
sync tweaks
2011-12-13 10:44:50 +09:00
Damien Elmes
8ede57b024
should init schema on collection creation
2011-12-13 09:33:11 +09:00
Damien Elmes
aeb38ab65d
create a separate conf group for each imported deck
2011-12-13 04:42:12 +09:00
Damien Elmes
c1d9b62549
make sure we adjust due time on reviews when importing
2011-12-13 04:20:29 +09:00
Damien Elmes
35a10744a6
'open' was a silly choice
2011-12-12 02:25:16 +09:00
Damien Elmes
1114fc084a
rename special field templates
2011-12-12 01:39:57 +09:00
Damien Elmes
428b6a0520
don't prompt when no cards to remove; don't autodel on indiv. note edits
2011-12-12 00:02:43 +09:00
Damien Elmes
0b96e8a1a9
per-fact empty card deletion, and delete hook
2011-12-11 23:48:24 +09:00
Damien Elmes
8be0e6cccd
make sure we add + delete cards after template changes
2011-12-11 23:35:59 +09:00
Damien Elmes
9bcfc9e1d4
use devnull instead of reader thread; fix cleanup code
...
thanks to robert siemer for the devnull idea
2011-12-11 03:34:51 +09:00
Damien Elmes
0a279f6a26
remove clozectx, add styling to stdmodels
2011-12-11 02:33:27 +09:00
Damien Elmes
918bfa2e62
move some prefs into collection
2011-12-10 23:48:36 +09:00
Damien Elmes
4428c04774
new order is now a deck property
2011-12-10 22:45:44 +09:00
Damien Elmes
1e48ce9b99
fix randomizeCards() call
2011-12-10 04:35:29 +09:00
Damien Elmes
45c218f807
add restore to default option
2011-12-10 04:17:53 +09:00
Damien Elmes
78494283c2
store forgetting index as %, fix card sorting
2011-12-10 04:11:43 +09:00
Damien Elmes
0161ebd9f1
fix rev order and add placeholder in ints[]
2011-12-10 01:07:39 +09:00
Damien Elmes
46443762c0
add the ability to create a new deck conf from existing one
2011-12-10 00:47:04 +09:00
Damien Elmes
20ffbd57a7
don't need relearn flag, can infer from empty delays list
2011-12-09 08:36:00 +09:00
Damien Elmes
451962d4a8
drop the special config for top level decks
...
New/rev card mixing, collapse time and the timeboxing limit are now a
collection property. I appreciate how it could be useful to have those
settings per top-level deck in some cases, but having some settings inherited
from the top level deck makes for a confusing UI.
2011-12-09 07:55:40 +09:00
Damien Elmes
8c9c3489e5
fetch reviews in subdecks incrementally like new cards
...
- allows separate review order for different decks
- makes new card and rev card handling consistent
- for users who find it confusing to have cards from different decks mixed in
and thus click on each deck in turn, they can now just select the parent
deck and have it work as expected
- for users who want their cards mixed together randomly, they can keep the
cards in a single deck
2011-12-09 04:02:43 +09:00
Damien Elmes
d94f6d2011
block illegal filename characters
2011-12-08 19:23:11 +09:00
Damien Elmes
95106908dd
check sort field when searching
...
If the field they want to search is the one being used to sort, this saves us
having to go the full search route
2011-12-08 09:53:27 +09:00
Damien Elmes
08660f6bf8
test db integrity before upload
2011-12-08 01:06:33 +09:00
Damien Elmes
0ef3fe5d75
fix media unittest, turn of sync during upgrade
2011-12-07 23:23:58 +09:00
Damien Elmes
6356e6f06b
make sure we mod deck on current deck change
2011-12-07 21:50:26 +09:00
Damien Elmes
dd7434a44d
use a class instead of id to specify card styling
2011-12-07 20:04:47 +09:00
Damien Elmes
81c4d24b0e
make sure we bump usn when uploading, or next sync sends data back
2011-12-07 19:59:11 +09:00
Damien Elmes
45ebbd14c8
fix revlog upgrading
2011-12-07 19:58:31 +09:00
Damien Elmes
8358c7e686
remove obsolete queue arg
2011-12-07 19:35:32 +09:00
Damien Elmes
6ce8c9b608
drop tags from sanity check
...
Since we rely on fixIntegrity() to garbage-collect tags and don't try to add
unused ones to the graves, after a check the tag counts will fall out of sync.
2011-12-07 18:33:43 +09:00
Damien Elmes
593e45a9bb
decrease timeout to 30; httplib2 retries for us
2011-12-07 18:08:15 +09:00
Damien Elmes
4b190c3586
run all sync requests through one function
2011-12-07 17:57:07 +09:00
Damien Elmes
9b76a4669c
compress zip, add media sanity check
2011-12-06 23:36:01 +09:00
Damien Elmes
fabec6e920
more sync resuming changes
...
The server now returns the next usn after every addFiles(), so an interrupted
upload doesn't cause the uploaded material to be sent back down.
2011-12-06 23:04:26 +09:00
Damien Elmes
be66c960a9
rework media syncing so we can resume
2011-12-06 22:18:41 +09:00
Damien Elmes
c0edcae238
fix some sync bugs
...
- don't send server graves graves back on the next sync
- make sure we update usns of models/tags/decks as well on upload
- don't die when updating decks after current deck deleted
- report counts when sanity check fails
2011-12-06 01:35:54 +09:00
Damien Elmes
52234f9d9a
removeHook -> remHook
2011-12-06 00:12:36 +09:00
Damien Elmes
4a88885e83
default to compression level 6
2011-12-06 00:05:39 +09:00
Damien Elmes
594204a134
queue argument is obsolete
2011-12-06 00:05:14 +09:00
Damien Elmes
5a3d65ac61
send zips in 2.5MB increments
2011-12-05 22:06:23 +09:00
Damien Elmes
14f7c366d0
add base62
2011-12-05 22:06:09 +09:00
Damien Elmes
d52b2d4801
if counts() is passed a card, add the necessary count
2011-12-05 19:34:25 +09:00
Damien Elmes
8308c79fa6
minor refactor of count handling
...
- drop lrnCount; rename lrnRepCount to lrnCount
- on card fetch, decr count by card.left
- drop cardCounts(), rename repCounts() to just counts()
- fix lrn count bugs
2011-12-05 19:15:46 +09:00
Damien Elmes
e7101faff7
don't overcount learning reps by 1
2011-12-05 17:57:32 +09:00
Damien Elmes
41636f41f8
tweak sync error handling
2011-12-05 17:44:54 +09:00
Damien Elmes
0395047579
initial usn is 0, so distinguish between 0 and false
2011-12-05 15:27:06 +09:00
Damien Elmes
b33c2e99c0
return false, not 'continue', when not finished
2011-12-05 14:43:32 +09:00
Damien Elmes
b99dbb1466
don't .reset() on deck load by default anymore
2011-12-05 13:40:37 +09:00
Damien Elmes
e85603dae6
fix certs bundling
2011-12-04 19:09:47 +09:00
Damien Elmes
cca3b5cba6
scm ts should be ms too, fix unit tests
2011-12-04 17:52:01 +09:00
Damien Elmes
3b0334b04d
add schema check to note save
2011-12-04 16:28:01 +09:00
Damien Elmes
1ec747dbb4
tweak sync hooks
2011-12-04 15:56:38 +09:00
Damien Elmes
6bad4cc8c2
fix sanity check
2011-12-04 15:23:43 +09:00
Damien Elmes
9d5357f7a6
after a save, revert to unmodified state; sync tweaks
2011-12-04 14:56:12 +09:00
Damien Elmes
cdb33cf6a8
don't bump mod time unless the db has actually been changed
2011-12-04 13:51:13 +09:00
Damien Elmes
0ff59b87e9
make sure we commit after media operations
2011-12-04 13:00:38 +09:00
Damien Elmes
457ee809f4
don't implicitly commit in context manager
2011-12-04 13:00:24 +09:00
Damien Elmes
8fff05618c
check download before overwrite
2011-12-03 22:15:36 +09:00
Damien Elmes
6965a9c102
sync tweaks
2011-12-03 21:06:27 +09:00
Damien Elmes
d148a6cf1b
bundle ssl certs; share con across all sync types
2011-12-03 16:38:45 +09:00
Damien Elmes
92352d4725
convert guid to base 91 string
...
Because JSON doesn't support 64 bit numbers, we need to either convert the 64
bit numbers to a string during transport, or store the ids as a string. At
base 91 a 64 bit number only takes an extra two bytes, and it means we can
dump DB results directly into JSON without having to apply any transformation.
2011-12-03 14:25:18 +09:00
Damien Elmes
1db4b41e23
use WAL mode if available; don't delete media in check
2011-12-02 22:44:00 +09:00
Damien Elmes
c961b5843a
fix ivl estimation for new cards
2011-12-02 22:10:33 +09:00
Damien Elmes
8f1404642a
always generate new cards on edit; don't delete
2011-12-02 21:52:33 +09:00
Damien Elmes
88da227ce1
don't make optimize/check force a full sync anymore
2011-12-02 21:52:10 +09:00
Damien Elmes
a0d910201d
don't add two typeans fields on upgrade
2011-12-02 17:37:10 +09:00
Damien Elmes
dc73ba8e47
add #answerStart to default hr so we can scroll to answer
2011-12-02 17:25:40 +09:00
Damien Elmes
4a3b190453
fix bug in rev ivl adjustment that could lead to 0 day interval
2011-12-01 17:35:26 +09:00
Damien Elmes
320bb7c82f
change stats alignment
2011-12-01 17:15:17 +09:00
Damien Elmes
e8f4d04420
fix hourly retention graph
2011-12-01 13:25:40 +09:00
Damien Elmes
74518264e0
raise an exception when an invalid sort type is passed
2011-11-30 12:34:49 +09:00
Damien Elmes
a1693a3691
field operations should mod the schema immediately
2011-11-30 10:57:42 +09:00
Damien Elmes
49c0a5dd82
add review count back
2011-11-29 17:12:08 +09:00
Damien Elmes
347bfbbff5
tweak stats layout
2011-11-29 16:48:18 +09:00
Damien Elmes
56ec1c6135
fix upgrading of revlog
2011-11-29 10:34:49 +09:00
Damien Elmes
3d1756df9b
tweak stats
2011-11-29 10:18:37 +09:00
Damien Elmes
9dbb0b90d5
fix updateFieldCache() call
2011-11-28 21:30:47 +09:00
Damien Elmes
be3258b0a8
fix field limiting
2011-11-28 20:51:47 +09:00
Damien Elmes
73b80211c2
add current deck limit
2011-11-28 20:48:14 +09:00
Damien Elmes
8c1266ab2a
less terse card state searches
2011-11-28 20:18:16 +09:00
Damien Elmes
67e4f0d1cc
tweak find code
2011-11-28 20:04:39 +09:00
Damien Elmes
d903b50d5f
upgrade tweaks
2011-11-28 19:14:10 +09:00
Damien Elmes
bd29318168
catch incorrect ordinals on upgrade
2011-11-28 16:57:58 +09:00
Damien Elmes
cd76706a2f
make sure to remove inactive templates properly
2011-11-28 16:10:41 +09:00
Damien Elmes
0032dd39c9
return 0 count when media not copied
2011-11-28 16:05:48 +09:00
Damien Elmes
c0e2a0ba50
identify whether it's a dupe or empty
2011-11-28 16:05:37 +09:00
Damien Elmes
1235f8362a
type answer is now a template replacement
2011-11-28 15:15:38 +09:00
Damien Elmes
223cc48052
don't wrap template in div; reference #card instead
...
We want the background color to fill the card area rather than only the size
of the card content, so we need to set the CSS for the outer container
instead.
2011-11-28 14:45:43 +09:00
Damien Elmes
ddd890ee75
more fixes for schema being accidentally modified on model add
2011-11-27 13:50:49 +09:00
Damien Elmes
478e4c9212
use the original id if available when importing
2011-11-26 12:06:17 +09:00
Damien Elmes
20c1799be5
add back the ability to show the entire collection stats
2011-11-26 10:28:42 +09:00
Damien Elmes
592078545e
don't fail when upgrading an empty deck
2011-11-25 14:20:18 +09:00
Damien Elmes
39f3c84661
point out that old files are invalid too
2011-11-25 14:19:41 +09:00
Damien Elmes
faf2f061a8
log imported card/media counts
2011-11-25 14:13:14 +09:00
Damien Elmes
b5c0b1f2c7
drop required/unique field properties
...
Instead of having required and unique flags for every field, enforce both
requirements on the first field, and neither on the rest. This mirrors the
subject/body format people are used to in note-taking apps. The subject
defines the object being learnt, and the remaining fields represent properties
of that object.
In the past, duplicate checking served two purposes: it quickly notified the
user that they're entering the same fact twice, and it notified the user if
they'd accidentally mistyped a secondary field. The former behaviour is
important for avoiding wasted effort, and so it should be done in real time.
The latter behaviour is not essential however - a typo is not wasted effort,
and it could be fixed in a periodic 'find duplicates' function. Given that
some users ended up with sluggish decks due to the overhead a large number of
facts * a large number of unique fields caused, this seems like a change for
the better.
This also means Anki will let you add notes as long as as the first field has
been filled out. Again, this is not a big deal: Anki is still checking to make
sure one or more cards will be generated, and the user can easily add any
missing fields later.
As a bonus, this change simplifies field configuration somewhat. As the card
layout and field dialogs are a popular point of confusion, the more they can
be simplified, the better.
2011-11-24 22:16:03 +09:00
Damien Elmes
daea038aa4
deckCounts -> deckDue
2011-11-24 17:04:26 +09:00
Damien Elmes
fae153c2af
don't mod schema when adding new models
2011-11-24 16:33:40 +09:00
Damien Elmes
f7790275ce
groups -> decks
2011-11-23 19:28:09 +09:00
Damien Elmes
279a942642
deck -> collection
2011-11-23 17:47:44 +09:00
Damien Elmes
6e4e8249fb
facts -> notes
2011-11-23 12:37:21 +09:00
Damien Elmes
10e1c1b03e
tweak tag handling
2011-11-23 11:39:33 +09:00
Damien Elmes
ffc096e308
the generated cards should note use msecs
2011-11-22 08:50:23 +09:00
Damien Elmes
4a601416bc
keep typeAns as a field name
...
We have the fact loaded into memory anyway for the q/a display
2011-11-19 23:36:40 +09:00
Damien Elmes
7a5cee1d20
remove remaining CSS; more template properties into div
2011-11-18 08:25:56 +09:00
Damien Elmes
15e4b64162
new approach to hideQ
...
Instead of a separate option to hide question, embed the question into the
answer format by default. Users who don't want to see the question can remove
the question fields, and users who want a separator between the question and
answer (or not) can control it in HTML now.
Also, remove obsolete field CSS, and don't accidentally chomp a character on
upgrade.
2011-11-18 05:15:15 +09:00
Damien Elmes
c76c08069e
change template replacement behaviour
...
Previously {{field}} wrapped the field in a span with the field's font
properties. This wasn't obvious, and caused frequent problems with people
trying to combine field and template text, or use field content in dictionary
links.
Now that AnkiWeb has a wizard for configuring the front & back layout, we can
just put the formatting in the template instead.
2011-11-18 02:50:47 +09:00
Damien Elmes
770f402905
don't allow template removal to orphan facts
2011-11-17 23:09:18 +09:00
Damien Elmes
a51307701d
del -> rem for consistency
2011-11-17 22:55:03 +09:00
Damien Elmes
16ecfe4097
add forgetting index adj; thanks to adam mesha for the inspiration
2011-11-15 19:15:22 +09:00
Damien Elmes
58c56c433a
apply review limit; fix finished msg
2011-11-15 04:05:44 +09:00
Damien Elmes
4a4f4797db
update daily counts on reset instead of each review
2011-11-15 02:53:55 +09:00
Damien Elmes
0dfcfd9171
make sure conf name set on create
2011-11-14 23:33:05 +09:00
Damien Elmes
47f4b271dc
mark recycled models for card generation; drop superfluous flagModels
2011-11-08 22:32:43 +09:00
Damien Elmes
357e5e7036
media.check() takes a list of files for ankiweb integration
2011-11-08 22:32:24 +09:00
Damien Elmes
01b297babc
fix model gencards
2011-11-08 22:32:02 +09:00
Damien Elmes
37b3de23cf
remove inactive templates that are unused on upgrade
2011-11-08 18:52:31 +09:00
Damien Elmes
795cdd7d3f
remove the concept of non-active templates
...
The old template handling was too complicated, and generated frequent
questions on the forums. By dropping non-active templates we can do away with
the generate cards function, and advanced users can simulate the old behaviour
by using conditional field templates.
2011-11-08 18:06:19 +09:00
Damien Elmes
f8eefe5ee1
model deleting should use the string id
2011-11-07 18:38:48 +09:00
Damien Elmes
c6c6af4328
split remote sync tests into separate file
2011-11-07 16:21:29 +09:00
Damien Elmes
aef7626557
add fieldNames(); fix scmhash()
2011-11-07 14:27:15 +09:00
Damien Elmes
688a680b54
when importing, set the new group as current
2011-11-07 14:26:56 +09:00
Damien Elmes
cbdb283b20
refactor model copying
2011-10-31 11:34:03 +09:00
Damien Elmes
b1bf50c677
make sure to save after import
2011-10-30 19:04:52 +09:00
Damien Elmes
3bf0b253f2
handle bad field references and tags; don't create empty fields
2011-10-30 10:12:24 +09:00
Damien Elmes
e99e7baa3c
need to keep latex in unicode until preamble concat
2011-10-29 21:36:29 +09:00
Damien Elmes
82f9d484da
don't die on non-field references
2011-10-29 20:11:37 +09:00
Damien Elmes
0c03da52f5
fix latex rewriting
2011-10-29 17:15:13 +09:00
Damien Elmes
7a849fccc5
fix allMedia() and unit tests
2011-10-29 15:31:27 +09:00
Damien Elmes
ed7367d67f
fix reporting of latex errors; catch some bad commands
2011-10-29 15:12:57 +09:00
Damien Elmes
6911ae839e
on upgrade convert media references in template to separate field
2011-10-29 10:44:32 +09:00
Damien Elmes
ad81a564d1
don't leak fds in upgrade
2011-10-27 17:42:23 +09:00
Damien Elmes
caf46e948a
speed up import when there are lots of duplicate ids
2011-10-26 15:37:18 +09:00
Damien Elmes
1edd724c3e
raise an error on an invalid file import, so cmd line tools notice
2011-10-26 15:16:32 +09:00
Damien Elmes
37ea359931
add indices to upgrade check if missing
2011-10-26 12:19:12 +09:00
Damien Elmes
4668b1a210
on import make sure we update post; use static random range
2011-10-26 06:24:14 +09:00
Damien Elmes
c16cb6ee9b
fix more bugs in group count tree
2011-10-24 01:28:43 +09:00