Commit graph

488 commits

Author SHA1 Message Date
Damien Elmes
747a28556a when determining which card templates to use, replace text: too 2010-10-18 11:34:02 +09:00
Damien Elmes
4437024ecc fix a bug caused by sqlite not understanding unicode case 2010-08-26 18:38:08 +09:00
Damien Elmes
9332444dfd add hook for when undo is finished 2010-08-16 19:27:00 +09:00
Damien Elmes
84cb81854b faster tag updating for large number of tags 2010-08-16 18:52:55 +09:00
Damien Elmes
f3d2965e12 Revert "don't delete dangling facts when deleting cards" hack
We don't need this any more as we do conflict handling.

This reverts commit 880219567e.
2010-07-21 18:37:35 +09:00
Damien Elmes
880219567e don't delete dangling facts when deleting cards
If the user is not careful to only sync when one side has been modified, they
can end up with cards on one side and not the other. If they then delete a
card, deleting the dangling facts also deletes the fact associated with the
not-yet-synced card. In order to avoid this, we avoid deleting dangling facts
until a DB check.
2010-05-21 06:56:38 +09:00
Damien Elmes
edf121f8dc add hex cache for dumb clients, make sure not to mark deck modified 2010-05-16 01:01:38 +09:00
Damien Elmes
5616e679f5 cache the css as a deck var, don't accidentally send it in sync 2010-05-10 21:32:36 +09:00
Damien Elmes
a1d3f13f0a update for sqlalchemy 0.6 2010-04-21 13:21:16 +09:00
Damien Elmes
1be5943903 remove erroneous comment 2010-04-16 01:25:47 +09:00
Damien Elmes
21ec548680 more explicit setting of creation time, don't fiddle with ordinals for rand 2010-04-15 23:05:14 +09:00
Damien Elmes
783751d7ea support ? for single char search 2010-04-06 18:47:39 +09:00
Damien Elmes
09f51e5028 when adding facts, use a small due increment for each card model 2010-03-03 02:51:05 +09:00
Damien Elmes
80197d9c2f when generating cards, use a small creation date increment 2010-03-03 02:49:55 +09:00
Damien Elmes
220670a048 update combinedDue attr in cardAnswered(), not just on disk 2010-02-22 16:41:20 +09:00
Damien Elmes
472b68b831 don't backup when importing / saving as 2010-02-20 10:03:39 +09:00
Damien Elmes
bc345d3711 create backup dir if missing 2010-02-20 09:54:54 +09:00
Damien Elmes
6dce4e0602 add progress dialog to save as 2010-02-09 01:52:06 +09:00
Damien Elmes
ae690ccea3 don't bother with an integrity check if the deck is unchanged 2010-02-09 01:36:39 +09:00
Damien Elmes
295bacacd8 forget sync name on saveas 2010-02-09 01:30:16 +09:00
Damien Elmes
095a7dbb6f implement save as without attaching a db
Attaching new to old causes old to be implicitly commited.
We also can't access old from new if a write lock has been
taken out, so the only option left is to move all the data
through Python and take the speed hit.
2010-02-09 01:27:49 +09:00
Damien Elmes
dfd88cc4c1 don't set modtime of 0 2010-02-06 01:20:50 +09:00
Damien Elmes
c659660864 don't send acq cards when there are cards to review & new cards shown last 2010-02-05 13:07:42 +09:00
Damien Elmes
09f51e27f0 return newly created card ids when generating cards 2010-02-05 12:59:54 +09:00
Damien Elmes
8378f71c73 since interval is updated first, use lastInterval in cardIsBeingLearnt() 2010-02-01 05:11:34 +09:00
Damien Elmes
9b61d86096 place a minimum bound on average factor
Since SM2's grading has a bias towards starting high and going down (fail/hard
decrease the interval more than easy increases it), more conservative users
find their average interval reaches the minimum allowable interval and the
times given by hard/good start to converge. In the future, the whole concept
of using the average interval for new cards should be revisited to see if the
data supports it
2010-02-01 05:01:23 +09:00
Damien Elmes
d8ba9e1987 revert ease1 change
suspicious of the previous change, I had a look at the example pascal and
found the EF _was_ actually updated on a failure. The spec is misleading there.
2010-02-01 04:44:27 +09:00
Damien Elmes
87a0e087e5 tweak scheduler
- don't touch factor on fail, as per SM2 specs
- hard code no-punish-on-hard 'learning period' to 7 days so users who tweak
  the initial intervals aren't punished too early
2010-02-01 03:28:46 +09:00
Damien Elmes
a6a7782030 fix another windows timer resolution bug 2010-01-22 02:16:57 +09:00
Damien Elmes
33aede4d56 document 'features' reuse, add tool to get var as string 2010-01-19 01:51:35 +09:00
Damien Elmes
20da165b6e check backup integrity using existing db connection to avoid locking issues 2010-01-04 22:37:14 +09:00
Damien Elmes
ec9a7c3755 check db integrity on backup 2009-11-30 14:31:47 +09:00
Damien Elmes
6a8c19a889 use threadlocal for single user access 2009-11-30 08:34:31 +09:00
Damien Elmes
4bea904dc6 give the card id on cardAnswered hook, not old card 2009-11-27 15:59:58 +09:00
Damien Elmes
a50ec2649a fix undo of deck properties bug 2009-11-27 15:26:03 +09:00
Damien Elmes
feaedccc9a fix field ordinals on db check 2009-11-19 13:07:43 +09:00
Damien Elmes
9671d15371 rewrite expression to be clearer 2009-10-25 19:48:28 +09:00
Damien Elmes
4e83a67e00 lowercase is:foo searches 2009-10-04 19:30:21 +09:00
Damien Elmes
c786479268 timeout @ 60 2009-09-28 09:22:57 +09:00
Damien Elmes
1111cae80a mark everything updated on full db check 2009-09-26 23:13:28 +09:00
Damien Elmes
0863acc160 make pool an argument instead of progress handling; timeout=30 2009-09-25 18:08:53 +09:00
Damien Elmes
1028b04d9c default timeout of 90 seconds 2009-09-22 18:35:31 +09:00
Damien Elmes
2e2444f488 apsw -> nullpool 2009-09-21 20:48:04 +09:00
Damien Elmes
fa6d1f9528 set isolation_level=None when using apsw 2009-09-20 19:55:56 +09:00
Damien Elmes
dce35eda06 disable progress handler if apsw enabled 2009-09-17 01:33:29 +09:00
Damien Elmes
2a72a4dc70 apsw wants unicode 2009-09-17 01:08:19 +09:00
Damien Elmes
090529c4d7 add option to initialize via apsw 2009-09-17 00:25:53 +09:00
Damien Elmes
1b1b69e966 don't die on resetUndo() if undo disabled 2009-09-14 15:30:20 +09:00
Damien Elmes
a9f3e4dca7 don't throw a traceback with an invalid fid 2009-09-06 17:31:47 +09:00
Damien Elmes
5fed1f7f35 support rtl in html too 2009-08-17 07:42:19 +09:00
Damien Elmes
fd9ce1a876 random(0, time()) 2009-08-17 06:52:26 +09:00
Damien Elmes
c33c6318b2 handle text:field in rename & delete 2009-08-17 04:53:29 +09:00
Damien Elmes
2f2487e5b8 increase 5 year max scheduling time to 100 years 2009-07-09 23:07:38 +09:00
Damien Elmes
fdb9327864 fix locking in ubuntu 2009-07-08 14:38:40 +09:00
Damien Elmes
6dfaccaa5e reuse features as rtl marker, fix deck version 2009-07-05 02:19:13 +09:00
Damien Elmes
8f383db5d2 don't bump mod time on upgrade 2009-07-04 17:10:32 +09:00
Damien Elmes
6514c2a2a5 when previewing cards, use all available card models 2009-07-04 16:50:25 +09:00
Damien Elmes
e2ad8a7ce3 bump deck mod time on suspend/unsuspend 2009-07-02 23:42:05 +09:00
Damien Elmes
01cb3a4b7d when regenerating cards, use fact's creation date 2009-06-29 23:30:13 +09:00
Damien Elmes
5e9a68d4c7 fix problem upgrading shared decks 2009-06-28 22:23:40 +09:00
Damien Elmes
1cc077e1e7 make sure save as copies deck vars 2009-06-27 17:20:49 +09:00
Damien Elmes
35731d0cb3 move leech detection into libanki 2009-06-26 08:10:33 +09:00
Damien Elmes
5598bcbce4 make sure to set leech vars on create, fix recently created decks 2009-06-25 14:57:34 +09:00
Damien Elmes
1e7cae5202 add leech control 2009-06-25 05:24:02 +09:00
Damien Elmes
1a5d243520 reenable removal of suspended tag 2009-06-23 23:43:21 +09:00
Damien Elmes
2f93ca3d8f reuse features as media url, blank 2009-06-21 06:51:48 +09:00
Damien Elmes
f94104ed9f new backup-friendly backup handling 2009-06-20 02:05:11 +09:00
Damien Elmes
aca3ea2513 upgrade suspended, but don't mark cards dirty and don't delete from suspended 2009-06-19 10:26:54 +09:00
Damien Elmes
358b453906 always update buried/reviewEarly cards 2009-06-19 08:02:40 +09:00
Damien Elmes
3e2c150b17 only set lastDue if card is not new, hide due for new cards in stats 2009-06-19 07:46:26 +09:00
Damien Elmes
a1981cf220 strip suspended upgrade code, users will have to do it manually 2009-06-18 07:57:38 +09:00
Damien Elmes
0cd3b517b3 make sure to use unicode in suspended 2009-06-18 06:11:22 +09:00
Damien Elmes
b6a50db1c2 rebuild queue after upgrade mostly done 2009-06-18 04:25:45 +09:00
Damien Elmes
33c23bc082 add leech report to congrats, remove bold from less important items 2009-06-18 03:43:31 +09:00
Damien Elmes
285bf5a9a0 add search for inactive 2009-06-18 03:14:22 +09:00
Damien Elmes
5bca5bc0da make distinction between suspended/inactive 2009-06-18 03:13:58 +09:00
Damien Elmes
58c4e6eb27 fix error caused by upgrading deck without queue built 2009-06-18 02:40:18 +09:00
Damien Elmes
6a286d1eca obsolete suspended tag
- add suspendCards/unsuspendCards()
- set priority = -3 to manually suspend
- ignore cards with negative priorities when updating
- remove suspended from list of initial tags
2009-06-18 02:25:50 +09:00
Damien Elmes
09e002c8d6 when generating cards in ordered mode, set due = fact creation + ordinal 2009-06-15 11:57:25 +09:00
Damien Elmes
8d3678b9fb mark deck dirty on reset cards 2009-06-15 06:57:50 +09:00
Damien Elmes
2db2b65df0 set deck created time on download 2009-06-12 22:41:21 +09:00
Damien Elmes
d67b4b2ed9 remove obsolote newSpacedCount() 2009-06-11 22:49:15 +09:00
Damien Elmes
d2ac7fc13e don't dirty cards/fact on full check, rely on lastSync = 0 2009-06-11 03:49:16 +09:00
Damien Elmes
2d32e1aaa1 strip all chinese/japanese support out in favour of plugins 2009-06-10 22:58:28 +09:00
Damien Elmes
261c70b8c2 set first answered on reset 2009-06-10 21:23:30 +09:00
Damien Elmes
845aede221 if show failed cards at end, use maxFailed = 0 2009-06-08 12:36:23 +09:00
Damien Elmes
bd31fb4e69 numerous optimizations - cold cache start is much faster now
- fix priorityDue index order
- force correct index on checkDue() and spacedCardCount()
- don't check due again if reviewEarly & newEarly false
- optimize reviewEarly/buried unsuspend
2009-06-06 18:49:30 +09:00
Damien Elmes
c5cabb7e84 analyze after adding index 2009-06-06 17:37:48 +09:00
Damien Elmes
598b2e79e9 add index for average factor calculation 2009-06-06 17:32:51 +09:00
Damien Elmes
82e8555793 remove debugging from fixIntegrity 2009-06-06 03:42:01 +09:00
Damien Elmes
c6cddeb163 respect max failed cards with 'show failed cards at end', set to default 1000 2009-06-04 07:22:03 +09:00
Damien Elmes
4effec1c59 remove extra newline 2009-06-04 05:28:32 +09:00
Damien Elmes
3e40dc1557 return if numBackups = 0 2009-06-04 05:17:36 +09:00
Damien Elmes
5692c91855 add check for fields without field model 2009-06-04 04:19:53 +09:00
Damien Elmes
76b114f584 make sure to include type= when raising deck access error 2009-06-02 03:21:40 +09:00
Damien Elmes
22b086fbad better error report if deck is missing decks table 2009-05-31 01:22:06 +09:00
Damien Elmes
b237bcbdf0 support searching for fact ids 2009-05-30 18:22:55 +09:00
Damien Elmes
ddbe0b8657 make sure utcoffset defaults to -1 so initialized on first load 2009-05-27 00:30:29 +09:00
Damien Elmes
7588eb9650 don't need to mention views/indices 2009-05-16 05:12:44 +09:00
Damien Elmes
ea9ad13932 add support for alternative media dir and disabling media copy on export 2009-05-16 04:07:54 +09:00
Damien Elmes
6ccafcb996 optimize change model - much faster for large decks 2009-05-16 03:14:23 +09:00
Damien Elmes
2a9e88cb5d support quick db check, don't forget deletions, report deleted cards 2009-05-16 02:47:51 +09:00
Damien Elmes
ebf83d898e don't clobber deck modified when expired cards on open 2009-05-16 00:49:33 +09:00
Damien Elmes
57b659ca36 optimize updatePriorities(), get a 2-3x speedup 2009-05-09 05:58:42 +09:00
Damien Elmes
6893d01458 add back priorityDue index 2009-05-09 04:17:53 +09:00
Damien Elmes
2f4b853140 improve speed of unused tag deletion in updateCardTags() 2009-05-09 03:46:59 +09:00
Damien Elmes
19bc9768f1 delete unused tags on card delete, do it efficiently 2009-05-09 03:26:34 +09:00
Damien Elmes
d15dd71b68 speed up deleteDanglingFacts() 2009-05-09 03:25:46 +09:00
Damien Elmes
bc7bdc24c4 update all card priorities at once on add 2009-05-09 03:25:24 +09:00
Damien Elmes
9df4b3278f don't flushMod() unless modified 2009-05-07 17:26:29 +09:00
Damien Elmes
3de46f701b type->is 2009-05-06 16:40:03 +09:00
Damien Elmes
2550d3ec08 new 'learn more' handling 2009-05-06 15:45:15 +09:00
Damien Elmes
f8b6d18dff add search for delayed 2009-05-06 13:47:57 +09:00
Damien Elmes
eac428f6b3 fail>failed 2009-05-06 13:40:49 +09:00
Damien Elmes
0b9df42400 support searching for card type 2009-05-06 13:32:00 +09:00
Damien Elmes
992f7af50e make priorities sort better 2009-05-06 12:44:43 +09:00
Damien Elmes
f32f96fb53 if updating priorities results in a suspend, update due counts 2009-05-01 04:36:26 +09:00
Damien Elmes
143a78dd2a handle buried cards in deck load 2009-04-29 12:12:07 +09:00
Damien Elmes
32d5dccbc9 randomize after reset; refresh deck 2009-04-29 11:51:33 +09:00
Damien Elmes
33c59a3006 new review early handling so that we can recover on load 2009-04-28 17:12:50 +09:00
Damien Elmes
bc2e9d9593 fix adding cards while in random mode 2009-04-23 16:49:55 +09:00
Damien Elmes
2393775f80 add type to factid index 2009-04-23 04:05:37 +09:00
Damien Elmes
d1a44e308e handle randomize progress in ankiqt, add helper for updating facts 2009-04-23 01:57:54 +09:00
Damien Elmes
f4997f328c don't randomize on upgrade, will cause sync problems 2009-04-23 01:36:25 +09:00
Damien Elmes
35837ef213 mark cards modified when randomizing/ordering 2009-04-23 01:35:41 +09:00
Damien Elmes
ae7047f5af add progress dialogs 2009-04-23 01:33:59 +09:00
Damien Elmes
fbf31d60da new random handling 2009-04-23 01:25:42 +09:00
Damien Elmes
a6827b8dd7 check if modified in setvar() 2009-04-23 00:32:40 +09:00
Damien Elmes
cd87adbe71 fix new count where cards are suspended, highlight type in blue too 2009-04-22 21:37:42 +09:00
Damien Elmes
bc8b7f45da fix plural of suspended cards 2009-04-22 21:34:38 +09:00
Damien Elmes
09e158ac74 update card priorities after fact tags updated 2009-04-22 21:34:17 +09:00
Damien Elmes
3c9ad98a44 remove comma from delete tags 2009-04-22 18:10:54 +09:00
Damien Elmes
013f3d00a8 support * wildcard in normal text search too 2009-04-20 21:50:29 +09:00
Damien Elmes
c0b46ff994 mark cards modified when priority changed 2009-04-18 22:41:03 +09:00
Damien Elmes
e1f505b853 don't randomize field ids anymore 2009-04-18 22:00:49 +09:00
Damien Elmes
451c266591 make sure tag index is unique 2009-04-18 04:45:41 +09:00
Damien Elmes
19e597cbc9 don't update tag for each card, we do it for the fact 2009-04-18 02:32:03 +09:00
Damien Elmes
1d4710b6d6 flush after startProgress() in case a lost focus has been triggered 2009-04-17 23:18:05 +09:00
Damien Elmes
099202c28f trailing whitespace 2009-04-14 02:01:07 +09:00
Damien Elmes
06b1ee47f9 add support for turning off backups 2009-04-14 00:15:45 +09:00
Damien Elmes
b7a81f952c don't mark deck modified on upgrade, just commit 2009-04-11 02:15:52 +09:00
Damien Elmes
49089732c4 make sure to set progress handler envs before setting handler 2009-04-11 01:05:51 +09:00
Damien Elmes
51213784a8 init progress handle at start, tweaks for faster deck startup 2009-04-11 00:20:52 +09:00
Susanna Björverud
356d9365bb Clean up, removing commented out no longer needed lines 2009-04-10 14:45:27 +02:00
Susanna Björverud
87b4e72f47 Experimenting with selecting cards that are both new and spaced 2009-04-10 10:57:49 +02:00
Susanna Björverud
2738ee9100 Changed 'At the same time...' to 'At this time...' 2009-04-09 15:21:11 +02:00
Susanna Björverud
c4304fa195 Plural support for some strings 2009-04-07 08:56:35 +02:00
Damien Elmes
c7f9cec657 add deck vars 2009-04-07 11:55:08 +09:00
Damien Elmes
36825006d0 new search interface, support negating tags, use tag: not t: 2009-04-06 11:41:50 +09:00
Damien Elmes
62375e37a3 need to force a write lock even in explicit locking mode 2009-04-02 04:29:11 +09:00