Commit graph

2244 commits

Author SHA1 Message Date
Damien Elmes
812b0b5353 add the ability to get non-dyn deck names 2012-05-25 08:13:04 +09:00
Damien Elmes
97f2665a11 fix terminology differences 2012-05-25 08:12:42 +09:00
Damien Elmes
225196f7d1 run hook on deck/model creation 2012-05-24 18:20:16 +09:00
Damien Elmes
bde4655fa5 warning shouldn't fire if in cram deck 2012-05-24 18:09:52 +09:00
Damien Elmes
fa5fca5941 don't touch due cards either 2012-05-24 18:02:32 +09:00
Damien Elmes
ec1a4f7458 even if failed 2012-05-24 17:51:49 +09:00
Damien Elmes
e3bb4a817e and undue cards have untouched ivl 2012-05-24 17:35:27 +09:00
Damien Elmes
455796f189 when rescheduling off, graduating cards get reset to new 2012-05-24 17:12:12 +09:00
Damien Elmes
d88c307758 presets 2012-05-24 15:26:34 +09:00
Damien Elmes
ba667cc94d fix order following failed order removal 2012-05-24 14:29:05 +09:00
Damien Elmes
dae4c2c453 upgrade decks and conf 2012-05-24 14:10:15 +09:00
Damien Elmes
1d92961e97 maxIvl, ivlFct
- limit ivl on rev and cram scheduling, default to 100 years
- ivlfct -> ivlFct for consistency
2012-05-24 13:49:15 +09:00
Damien Elmes
d6bce7c873 start on filter/cram updates, deck:filtered
- cram decks no longer pull cards from other cram decks, as tests like is:due
  don't make sense on crammed decks
- cram decks now default to not overriding the original deck's steps
- remove obsolote dyn_failed sort order - have to fix this in upgrade
- search/limit/order properties have been merged into a list, in case we may
  want to support multiple queries in the future (eg 10 cards from tag A, 20
  cards from tag B)
- added a resched option to disable boosting/failure - not yet implemented
- added an unused flag to allow cards to persist in the cram deck after
  graduation. implementing this will take some work and won't come in 2.0
- instead of is:filtereddeck, use deck:filtered
2012-05-24 13:38:58 +09:00
Damien Elmes
44b4f18e6c cram decks don't pull from other cram decks anymore 2012-05-24 08:31:58 +09:00
Damien Elmes
090e47eb7b optimize deck:* case 2012-05-24 07:28:14 +09:00
Damien Elmes
942beef5de allow != in properties 2012-05-23 23:07:23 +09:00
Damien Elmes
b63ac7e80d turn off not after application 2012-05-23 20:54:03 +09:00
Damien Elmes
6af7f6e846 improved finding
- new per-character tokenizer that is easier to read and maintain
- OR searches now supported
- grouping with ( and ) now supported
- sorting is off by default now
- searching in html is disabled for now, but may come back later
- use ? arguments instead of named arguments to ease porting to other
  platforms
- field:foo is no longer wrapped in implicit wildcards
- avoid joining notes table if it not required - about 30% faster
- fixed sql injection bug in findNids()
- commands no longer have to take care of negation themselves
- commands can return nothing to immediately flag the query as invalid
2012-05-23 20:21:47 +09:00
Damien Elmes
ef4ff86f8c support searches for particular ratings 2012-05-23 14:39:30 +09:00
Damien Elmes
3755a8f82d support matches on card properties 2012-05-23 14:18:44 +09:00
Damien Elmes
a76d34dc19 fix error on negated invalid is: 2012-05-23 13:39:25 +09:00
Damien Elmes
3ffb6fd67b add separate toggle to disable scheduling completely in cram deck 2012-05-23 13:36:44 +09:00
Damien Elmes
779ba63b01 remove fmult in favour of home deck's setting 2012-05-23 13:22:57 +09:00
Damien Elmes
56652c5066 remove unused cramRev 2012-05-23 13:16:15 +09:00
Damien Elmes
c236bc8327 don't show hourly perf. graph if few datapoints 2012-05-23 13:08:51 +09:00
Damien Elmes
a84a95cb1a fix ProxyInfo() call 2012-05-23 08:43:38 +09:00
Damien Elmes
bc2112a127 fix availOrds() when conditional expressions have extra text 2012-05-23 08:03:03 +09:00
Damien Elmes
cb24e106e6 make a distinction between cards in learning and relearing on upgrade 2012-05-22 20:58:27 +09:00
Damien Elmes
0fcf36c2a7 fix upgrade of learning cards in 1.2
- interval must be 1+ days
- type must be 2
2012-05-22 20:22:33 +09:00
Damien Elmes
233bf555b4 custom browser q/a columns 2012-05-22 15:37:15 +09:00
Damien Elmes
5aa840e848 handle proxy config in libanki 2012-05-22 14:14:40 +09:00
Damien Elmes
ab5af8c7aa log lapse time as relearn delay if available 2012-05-22 11:17:10 +09:00
Damien Elmes
31cabb6d3f only show interval if review card 2012-05-22 11:04:44 +09:00
Damien Elmes
20c96d50d6 fix countIdx() for lrn day cards 2012-05-22 09:37:36 +09:00
Damien Elmes
992479de33 check for dirs when deleting empty 2012-05-22 09:26:24 +09:00
Damien Elmes
82ead398db field:foo searches should be case insensitive 2012-05-22 06:35:04 +09:00
Damien Elmes
8a8ce2bffb fix ivlfct reference in cram decks 2012-05-22 06:32:07 +09:00
Damien Elmes
8f89ea57f5 FrontSide on upgrade, allNames() in models 2012-05-21 14:32:43 +09:00
Damien Elmes
0345ad7e2e add {{FrontSide}} for copying question text 2012-05-21 12:50:54 +09:00
Damien Elmes
28b5a108f6 wildcard deck searches 2012-05-21 11:45:24 +09:00
Damien Elmes
bc220e6f35 per-deck default model 2012-05-21 11:25:48 +09:00
Damien Elmes
1c5dae84af ignore media starting with _ 2012-05-21 07:51:16 +09:00
Damien Elmes
d9348e72dd replace fi adjustment with factor 2012-05-20 21:35:56 +09:00
Damien Elmes
745bbe1382 update children too 2012-05-20 20:55:14 +09:00
Damien Elmes
f00b7201b4 add fn to extend today's limits (into the negatives allowed) 2012-05-20 20:44:21 +09:00
Damien Elmes
faa3c7134b find and cards with invalid dids on deck list 2012-05-20 19:37:43 +09:00
Damien Elmes
e644cc1faa allow the default proxy to be overridden 2012-05-20 18:29:43 +09:00
Damien Elmes
cbb472712b while decks nested under cram not supported, don't error on delete 2012-05-20 17:51:37 +09:00
Damien Elmes
2438ec9117 when deleting a deck, delete cards being crammed too 2012-05-20 17:38:01 +09:00
Damien Elmes
dd74e73c04 include day lrn cards in forecast 2012-05-20 17:13:39 +09:00
Damien Elmes
b6bdd4aa21 daily learning queue
The way we were handling 1 day+ learning intervals was not great - they'd show
up at the start of a new day before normal reviews, meaning the hardest cards
came first. In previous Anki versions we deliberately sorted the queue in the
opposite order to prevent that. When relearning the cards the next day, if you
failed a card and expected to see it in 10 minutes that wouldn't happen
either, as all the overdue cards took precedence.

To fix this, we put cards that are due tomorrow or later into a separate queue
(queue 3), and pull cards from that queue only after the reviews are done. In
the future it might also be nice to move overdue learning cards into that
queue automatically at the start of a session.
2012-05-20 16:56:14 +09:00
Damien Elmes
32fde2a072 encode daily steps in left
When a user has learning steps that extend past the daily cutoff, we end up
counting them all instead of only the ones that would be done today. In order
to avoid this without expensive calculations or db schema changes, we
calculate the number of steps until the daily cutoff and pack it into the left
column, as totalLeft + leftToday*1000.
2012-05-20 16:05:50 +09:00
Damien Elmes
33407a6043 if the next step of the learn card is past the day cutoff, ignore left 2012-05-20 12:01:52 +09:00
Damien Elmes
a15b210349 be tolerant of bad upgrade 2012-05-19 08:23:11 +09:00
Damien Elmes
26f3ab7b9f due sort should sort by type first 2012-05-18 12:02:00 +09:00
Damien Elmes
e88bb29adf fix off by one in x axis 2012-05-18 12:01:04 +09:00
Damien Elmes
9aedb4a5e0 don't allow empty files in media folder 2012-05-16 05:35:58 +09:00
Damien Elmes
54bcdf6f21 odid was in the wrong place 2012-05-14 11:54:48 +09:00
Damien Elmes
3cda67ad68 defer i18n resolution so names can be translated 2012-05-14 07:11:58 +09:00
Damien Elmes
5c56de0e73 import deck conf 2012-05-14 07:05:18 +09:00
Damien Elmes
e10e4aed1d fix due check, remove obsolote unit test 2012-05-14 06:55:32 +09:00
Damien Elmes
b8ceef1b4a obsolete code in tags.py 2012-05-14 06:27:37 +09:00
Damien Elmes
ca7662ba72 deck percentage -> percentage 2012-05-14 06:24:11 +09:00
Damien Elmes
b291b9f2c0 show original deck name if in cram deck 2012-05-14 06:22:04 +09:00
Damien Elmes
1394b80152 catch attempt to set invalid due date on cards 2012-05-14 05:48:20 +09:00
Damien Elmes
072e93590b don't bump mod time when expired failed cards 2012-05-14 05:44:48 +09:00
Damien Elmes
d47b0726b0 limit y axis to integer ticks 2012-05-14 05:12:59 +09:00
Damien Elmes
f739d7ac38 ignore crom decks in didsForConf() 2012-05-14 03:17:11 +09:00
Damien Elmes
6096d39748 revert to default did if invalid in _newCard() 2012-05-14 03:02:19 +09:00
Damien Elmes
32bb469c63 proactively remove empty dids 2012-05-13 08:32:48 +09:00
Damien Elmes
b2580a9a15 fix odue issue 2012-05-08 02:11:40 +09:00
Damien Elmes
50f1091e28 catch attempt to retrieve conf from invalid deck 2012-05-08 01:39:19 +09:00
Damien Elmes
4b061e8f46 don't hard error on queue/odue issue 2012-05-08 01:30:37 +09:00
Damien Elmes
1a80ffa8a2 shared css 2012-05-06 20:04:28 +09:00
Damien Elmes
2cfa80b75b fix export of deck children when limiting to deck 2012-05-06 19:28:44 +09:00
Damien Elmes
eef669896d don't fail when trying to export cram deck 2012-05-06 19:26:05 +09:00
Damien Elmes
50464b514a add card.isEmpty() 2012-05-06 19:21:38 +09:00
Damien Elmes
aedf88ee6d don't allow {{c0:: 2012-05-06 18:08:15 +09:00
Damien Elmes
c1ea82273b log actual changes, not all prospectives 2012-05-06 17:53:18 +09:00
Damien Elmes
a52e740ef6 log added and updated notes separately 2012-05-06 17:34:04 +09:00
Damien Elmes
a558c47330 fix duplicate check in import 2012-05-06 17:29:02 +09:00
Damien Elmes
362c213a6c pull leech threshold on upgrade 2012-05-06 17:09:19 +09:00
Damien Elmes
0b24e56b40 hourly graph now honours period setting 2012-05-06 17:02:09 +09:00
Damien Elmes
8a4d20de16 show # of reviews per hour 2012-05-06 16:54:01 +09:00
Damien Elmes
63872f51cd add 2nd y axis label 2012-05-06 16:30:00 +09:00
Damien Elmes
e3a848b5b8 tally lrn separately so we don't limit it with the rev limit 2012-05-06 02:20:25 +09:00
Damien Elmes
6f90e2c445 don't generate cards into invalid decks 2012-05-06 02:00:33 +09:00
Damien Elmes
0e2637a999 when cram deck removed, cards in learning need to be reset 2012-05-06 01:55:18 +09:00
Damien Elmes
c2370fe3ef fix bug where nondue review cards in cram were treated as due 2012-05-06 01:44:10 +09:00
Damien Elmes
782dd53d16 don't throw error when showing cram date in stats either 2012-05-06 01:09:43 +09:00
Damien Elmes
623dff8df0 allow for more cards in a cram deck 2012-05-05 23:52:47 +09:00
Damien Elmes
58257cb5c4 add deck:none 2012-05-05 23:34:11 +09:00
Damien Elmes
74773d8e8a canonicalize deck name prior to rename 2012-05-05 18:22:54 +09:00
Damien Elmes
47e8e3d718 must set odue to zero when removing failed 2012-05-05 01:28:47 +09:00
Damien Elmes
d359a600d9 adjust properties directly on leech 2012-05-05 01:20:18 +09:00
Damien Elmes
b9761ca109 fix tags cards being added to all notes 2012-05-05 01:15:58 +09:00
Damien Elmes
2df2231dc5 catch attempts to write queue=2 odue>0 2012-05-05 01:09:11 +09:00
Damien Elmes
0faad28715 fix negation of normal searches 2012-05-05 00:28:14 +09:00
Damien Elmes
13cabe3983 if tmpdir existed don't remove and recreate 2012-05-05 00:13:35 +09:00
Damien Elmes
2433da7ef5 Merge branch 'master' of github.com:dae/libanki 2012-05-04 22:55:04 +09:00
Damien Elmes
54e3436746 add byName9() to decks 2012-05-04 22:54:51 +09:00
ospalh
311897a393 match the whole {{xx:yy]] field so we can delete it 2012-05-04 12:13:47 +02:00
Damien Elmes
3173073cff make sure to escape fields when renaming
thanks to ospalh for the heads up
2012-05-01 15:33:54 +09:00
Damien Elmes
3a401ce4ac bundle pyaudio, beautifulsoup and httplib2 2012-04-28 19:02:04 +09:00
Damien Elmes
581830840c we require python2.6 now 2012-04-28 17:47:41 +09:00
Damien Elmes
461e240d53 allow python-bundled json 2012-04-28 17:41:56 +09:00
Damien Elmes
491596096a fix inverted cmp in leech handler 2012-04-28 16:29:59 +09:00
Damien Elmes
f6b620f9ed ensure period is always 1+ 2012-04-27 10:51:13 +09:00
Damien Elmes
89eea5f964 clearer message when mplayer missing 2012-04-26 15:01:32 +09:00
Damien Elmes
12a80ef9c2 handle cloze note types in changeModel() 2012-04-25 13:25:19 +09:00
Damien Elmes
58aebc5b55 genCards() on findReplace() 2012-04-25 13:24:54 +09:00
Damien Elmes
5f7c80a2cd add c<n> for conditional generation of specific clozes 2012-04-25 11:11:21 +09:00
Damien Elmes
b3ff6044c8 add replayBoth to conf 2012-04-24 16:33:02 +09:00
Damien Elmes
53c455ff1f fix sound file return when not encoding 2012-04-24 15:52:10 +09:00
Damien Elmes
5b97c3f20f don't throw error when update causes empty cards; fix unit test 2012-04-24 10:03:34 +09:00
Damien Elmes
7070b159d5 don't allow ? " or | in media filenames either 2012-04-24 09:16:34 +09:00
Damien Elmes
d401f92016 add new tag hook 2012-04-24 09:12:07 +09:00
Damien Elmes
fe029250d9 forward -> card 1 2012-04-24 06:59:37 +09:00
Damien Elmes
b5ad2eb880 clear overdue in deck browser too 2012-04-24 05:38:18 +09:00
Damien Elmes
b2bc97ee49 clear overdue lapsed cards from learning queue 2012-04-24 05:28:19 +09:00
Damien Elmes
eba931a7da check invalid filenames 2012-04-24 05:28:06 +09:00
Damien Elmes
84134106cb derive period in review history graph from revlog, not collection crt 2012-04-24 04:35:36 +09:00
Damien Elmes
5514b75d6b fix card:<n> and card:cloze in cloze types 2012-04-24 02:30:02 +09:00
Damien Elmes
92472045d7 fix importing of changed models and duplicate revlog/card entries 2012-04-24 01:27:36 +09:00
Damien Elmes
dd4e85edfd automatically .reset() if attempting to getCard() from fresh deck 2012-04-23 04:16:51 +09:00
Damien Elmes
07ce818f18 add to current deck option 2012-04-23 04:16:36 +09:00
Damien Elmes
aee8d2a35f i18n basic model tmpl 2012-04-23 00:37:06 +09:00
Damien Elmes
bf13492c3c fix dynIvlBoost() thanks to itraveller 2012-04-23 00:24:20 +09:00
Damien Elmes
f2e183f729 check day when checking due counts 2012-04-22 09:26:08 +09:00
Damien Elmes
3c6707c17f don't genCards() into a cram deck 2012-04-22 08:27:31 +09:00
Damien Elmes
62b44df78e when renaming a field, support cloze: as well 2012-04-22 08:01:17 +09:00
Damien Elmes
68da292ddb copy2->copyfile
copy2() will throw an OSError on Linux+fat32 partitions, and we don't really
need the original mode bits or stat data anyway.
2012-04-22 07:33:04 +09:00
Damien Elmes
ae3e775fdd upgrade decks to fix odue bug 2012-04-22 07:17:06 +09:00
Damien Elmes
fd30167c49 nameOrNone() 2012-04-22 07:12:32 +09:00
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