Commit graph

2027 commits

Author SHA1 Message Date
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