Commit graph

1237 commits

Author SHA1 Message Date
Damien Elmes
b7e3d87e5d new active/inactive handling, bigger queues
- separate categories for new & review cards
- 'only these tags' + 'none of these tags'
2010-10-19 19:17:52 +09:00
Damien Elmes
be4dea39b1 more scheduler updates
- reimplement reviewEarly and newEarly by replacing parts of the scheduler,
  instead of adding special conditions
- remove references to isDue and priority (1,2,3,4) which is not necessary
  anymore
- add option to switch between per-day scheduling and due now scheduling
- newCardsToday() -> newCardsDoneToday()
- don't decrement counts for suspended cards
- make sure to update type when suspending/unsuspending
- fix findCards()
- set hardInterval = 1-1.1 on upgrade, or the default per day scheduling doesn't
  make sense
2010-10-18 18:01:19 +09:00
Damien Elmes
ad743d850d start work on scheduling refactor
Previously we used getCard() to fetch a card at the time. This required a
number of indices to perform efficiently, and the indices were expensive in
terms of disk space and time required to keep them up to date. Instead we now
gather a bunch of cards at once.

- Drop checkDue()/isDue so writes are not necessary to the DB when checking
for due cards
- Due counts checked on deck load, and only updated once a day or at the end
of a session. This prevents cards from expiring during reviews, leading to
confusing undo behaviour and due counts that go up instead of down as you
review. The default will be to only expire cards once a day, which represents
a change from the way things were done previously.
- Set deck var defaults on deck load/create instead of upgrade, which should
fix upgrade issues
- The scheduling code can now have bits and pieces switched out, which should
make review early / cram etc easier to integrate
- Cards with priority <= 0 now have their type incremented by three, so we can
get access to schedulable cards with a single column.
- rebuildQueue() -> reset()
- refresh() -> refreshSession()
- Views and many of the indices on the cards table are now obsolete and will
  be removed in the future. I won't remove them straight away, so as to not
  break backward compatibility.
- Use bigger intervals between successive card templates, as the previous
intervals were too small to represent in doubles in some circumstances

Still to do:

- review early
- learn more
- failing mature cards where delay1 > delay0
2010-10-18 14:35:11 +09:00
Damien Elmes
747a28556a when determining which card templates to use, replace text: too 2010-10-18 11:34:02 +09:00
Damien Elmes
8df9111b50 only copy used media on import/export 2010-10-16 10:29:39 +09:00
Damien Elmes
e010ef8062 add clock skew compensation again
this has the negative effect of causing multiple full syncs if syncing
multiple times within a 5 minute period of the previous full sync, but it
makes it much less likely that people's due counts will fall out of sync
2010-10-02 14:47:33 +09:00
Damien Elmes
99ba3f09c8 catch missing facts at end of sync 2010-09-12 12:21:39 +09:00
Damien Elmes
1f239c1e67 direct user to help page when file not in utf-8 2010-09-02 11:45:33 +09:00
Damien Elmes
ea32bce31c support escaped quotes in csv file, ignore bom marker 2010-08-30 20:40:28 +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
c916478868 bump version number 2010-08-19 13:42:19 +09:00
Damien Elmes
cb533d9c02 don't die when filename case is borked in media check 2010-08-16 19:28:45 +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
ff60f105d9 add extra minor version number to ensure betas get upgraded 2010-08-02 13:26:48 +09:00
Damien Elmes
5e7c62bca5 don't compensate for clock skew 2010-07-30 18:15:24 +09:00
Damien Elmes
e956aa9afb remove obsolete function 2010-07-27 22:54:51 +09:00
Damien Elmes
d3fb189a72 improved lastSync/modified handling
- never bump deck mod while syncing
- set lastSync to current time, not deck modified time
- don't update lastSync until the final part of the sync
- lower clock skew allowance to ~5 minutes
- bump full sync threshold to 1000 modified items
2010-07-27 22:46:04 +09:00
Damien Elmes
ecb6dbe69a unicode in error messages 2010-07-26 20:59:56 +09:00
Damien Elmes
55194f8aa7 ensure cardmodel/fieldmodels work when given a string too 2010-07-26 17:15:05 +09:00
Damien Elmes
5fe42791c3 use relative path in latex generation 2010-07-26 17:14:49 +09:00
Damien Elmes
61a7d6d79e make sure we match a given model even when given a string 2010-07-24 14:28:24 +09:00
Damien Elmes
a68366b5c4 fix card ordering when generating cards by basing card creation off fact 2010-07-21 19:46:27 +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
6852b0acda bump mod time on full sync to server, ensure lastSync matches 2010-07-21 18:37:05 +09:00
Damien Elmes
f58651cf1b bump version number 2010-07-11 17:42:05 +09:00
Damien Elmes
b8401eff22 ignore parse errors due to invalid html on export 2010-06-28 11:52:25 +09:00
Damien Elmes
f03000d27b remove string exceptions for python2.6 2010-06-10 13:24:46 +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
fd1953bfb5 convert to a list, not tuples, so we can modify on the fly 2010-05-07 16:05:35 +09:00
Damien Elmes
f69d946f83 more sqlalchemy compat 2010-05-02 16:15:32 +09:00
Damien Elmes
554d7021e0 don't specify an input index by default 2010-04-21 13:31:59 +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
af66630f07 delay beautifulsoup import until export 2010-04-01 22:57:26 +09:00
Damien Elmes
7f75364fbe delete mediamissing tags before setting 2010-03-28 10:18:13 +09:00
Damien Elmes
465a890bcd don't add = as a delim 2010-03-16 00:39:41 +09:00
Albert Peschar
ed50fb20d9 auto-detect '=' as import delimiter, strip fields 2010-03-14 11:40:31 +01:00
Damien Elmes
c8d9bac5df clarify one way sync error 2010-03-05 09:27:11 +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
27694adf1a patch from Chris Burel, fix qt html rewriting on 4.6.1+ 2010-02-23 17:25:12 +09:00
Damien Elmes
7111b3b924 add attr to tell if fact was pulled from db 2010-02-22 18:00:23 +09:00
Damien Elmes
8a28df1a80 patch from Piotr Kubowicz, fix some translations 2010-02-22 17:07:46 +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
7c8e612704 use a constant for chunk size 2010-02-18 17:36:54 +09:00
Damien Elmes
4769bfa7a5 another hack for w32's low timer resolution 2010-02-12 16:03:48 +09:00
Damien Elmes
6857233eef bump version 2010-02-12 14:40:45 +09:00
Damien Elmes
4a1dd99cc9 bump version 2010-02-09 01:55:01 +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
715c82aba9 remove debugging line in exporting 2010-02-09 01:31:05 +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
582a9dd290 don't create empty tags on export 2010-02-05 12:27:32 +09:00
Damien Elmes
187caa874b make sure to remove deck if exists before exporting into it 2010-02-02 00:28:15 +09:00
Damien Elmes
04ba9c9a4e strip elements out of range in review time graph 2010-02-01 07:16:40 +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
3106ecd80d change location of matplotlibrc file in frozen distrib 2010-02-01 04:44:39 +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
095ac330b5 fix first-time latex generation in a deck with no media dir 2010-02-01 03:33:13 +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
863d3d8319 add stripMedia() 2010-01-29 20:20:00 +09:00
Damien Elmes
ec263d0d63 if there is a period, always use the plural 2010-01-29 20:05:04 +09:00
Damien Elmes
9172c9b697 remove obsolete time span pair code 2010-01-29 19:28:38 +09:00
Damien Elmes
c90828349c remove obsolete reference to card tags, don't store card tags on import 2010-01-23 10:59:40 +09:00
Damien Elmes
ea2fa24fed add progress info to card/fact export 2010-01-23 10:51:02 +09:00
Damien Elmes
b4f1d6622a use html parser on text export instead of fragile regex 2010-01-23 08:13:43 +09:00
Damien Elmes
28ff71a031 fix dingsbums tests 2010-01-23 06:42:02 +09:00
Damien Elmes
1ae05a8bc7 limit auto-detected delimiter to a known-good set 2010-01-23 06:00:06 +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
bf35112bd0 improve latex error message 2010-01-12 04:38:44 +09:00
Damien Elmes
c7340edd6f strip html for text: fields 2010-01-08 22:02:16 +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
33ec7ce133 clarify comment 2009-12-02 03:38:46 +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
d44cbd5518 remove logging hack 2009-11-30 08:11:34 +09:00
Damien Elmes
e2f306ae3b fix cards/day amount 2009-11-29 19:47:53 +09:00
Damien Elmes
84b88507a2 tweak importing message 2009-11-27 19:53:24 +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
17630fa339 close text file after import 2009-11-27 15:27:01 +09:00
Damien Elmes
a50ec2649a fix undo of deck properties bug 2009-11-27 15:26:03 +09:00
Damien Elmes
093395b9e0 Revert "add 30 second timeout to all sync ops"
This reverts commit cbc23e5231.
2009-11-24 23:35:34 +09:00
Damien Elmes
feaedccc9a fix field ordinals on db check 2009-11-19 13:07:43 +09:00
Damien Elmes
c3833a6a10 quote loadfile cmd 2009-11-08 14:47:17 +09:00
Rick Gruber-Riemer
4971069856 Added importing for DingsBums?! decks 2009-11-08 14:39:09 +09:00
Damien Elmes
7e2fd90963 Merge git://github.com/jmazon/libanki 2009-10-31 15:50:56 +09:00
Jean-Baptiste Mazon
fe19dd806d rewrite field names as tags when importing with tagDuplicates 2009-10-31 00:35:46 +01:00
Damien Elmes
9671d15371 rewrite expression to be clearer 2009-10-25 19:48:28 +09:00
Damien Elmes
cbc23e5231 add 30 second timeout to all sync ops 2009-10-04 19:53:12 +09:00
Damien Elmes
164b0583c3 unlink tmp file after full up 2009-10-04 19:33:18 +09:00
Damien Elmes
4e83a67e00 lowercase is:foo searches 2009-10-04 19:30:21 +09:00
Damien Elmes
7d8904a65d factor spacing into due time 2009-10-01 20:17:31 +09:00
Damien Elmes
9f182b4d61 new stats 2009-10-01 17:44:43 +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
76376d9040 move the simple player code into a plugin 2009-09-26 23:05:30 +09:00
Damien Elmes
ebac830248 don't define MATPLOTLIBDATA on osx 2009-09-26 20:54:08 +09:00
Damien Elmes
faea67e14b add primitive player back, and fall back to it on osx 10.3 2009-09-26 08:57:36 +09:00
Damien Elmes
1906741e11 give a more intuitive error when trying to import utf16 2009-09-26 06:02:25 +09:00
Damien Elmes
75f56d13e2 decrease chunk size to 32k due to crappy win32 network cards 2009-09-26 05:51:22 +09:00
Damien Elmes
11c1e7799b use relative paths in latex as the path may contain foreign chars 2009-09-26 05:47:52 +09:00
Damien Elmes
e687b1d033 don't translate graphs, as agg can't cope 2009-09-26 05:14:16 +09:00
Damien Elmes
029390f73b mark version as snapshot 2009-09-26 04:21:50 +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
d02c1fb70a add nullpool to db, crop newlines in logs 2009-09-21 20:41:58 +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
03ae1d6ca7 patch from saturnien to make mp3 encoding optional 2009-09-06 17:16:02 +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
52be4b059d make short times i18n 2009-08-17 06:52:14 +09:00
Damien Elmes
8bc7e0c945 enforce ordinal ordering when importing 2009-08-17 05:05:50 +09:00
Damien Elmes
c33c6318b2 handle text:field in rename & delete 2009-08-17 04:53:29 +09:00
Damien Elmes
1006943d8e SuperMemo import fix from Petr
Fix supermemo import of Q&A part in escaped html. Supermemo 2004/2006 export
can contain unescaped chars > or < that confuse beautifulsoap library. Switch
autocreation of tags from all titles to True.
2009-07-26 12:38:36 +09:00
Damien Elmes
4be3de322c tweak pyaudio error message 2009-07-18 18:11:57 +09:00
Damien Elmes
d96b46887e make stat formatting consistent 2009-07-18 18:09:52 +09:00
Damien Elmes
b80fc40aee lazy-load beautifulsoup 2009-07-10 00:37:06 +09:00
Damien Elmes
2f2487e5b8 increase 5 year max scheduling time to 100 years 2009-07-09 23:07:38 +09:00
Damien Elmes
fe99ff7518 add supermemo importer from Petr Michalec 2009-07-09 23:03:23 +09:00
Damien Elmes
fdb9327864 fix locking in ubuntu 2009-07-08 14:38:40 +09:00
Damien Elmes
13a14e498c increase mod in delete 2009-07-08 12:29:09 +09:00
Damien Elmes
50103693d1 add progress to cache/uncache 2009-07-08 12:28:48 +09:00
Damien Elmes
95d6ba64ab fix uncache latex 2009-07-08 12:24:25 +09:00
Damien Elmes
6f27ae52cc revert to old style file-only latex handling 2009-07-08 12:20:56 +09:00
Damien Elmes
0011489220 improve error message when utf16 file passed in 2009-07-06 21:26:46 +09:00
Damien Elmes
b4a330a946 add hook for deck stats 2009-07-05 16:53:12 +09:00
Damien Elmes
7612259a72 add card ease stats 2009-07-05 16:41:18 +09:00
Damien Elmes
6dfaccaa5e reuse features as rtl marker, fix deck version 2009-07-05 02:19:13 +09:00
Damien Elmes
2579bebbda bump version 2009-07-04 18:10:52 +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
1d5ee36314 add a filter for formatQA() 2009-07-04 15:40:42 +09:00
Damien Elmes
0d0b9fc81e make sure card count is properly updated in importing 2009-07-04 15:40:36 +09:00
Damien Elmes
932440165a when files have been modified, make sure to retain originalPath 2009-07-04 15:17:49 +09:00
Damien Elmes
670439c805 support for exporting original filenames 2009-07-04 14:56:25 +09:00
Damien Elmes
e2ad8a7ce3 bump deck mod time on suspend/unsuspend 2009-07-02 23:42:05 +09:00
Damien Elmes
a73e4757ad universal newlines when importing 2009-07-02 23:23:05 +09:00
Damien Elmes
a9bb1639c0 remove locales 2009-06-30 11:32:15 +09:00
Damien Elmes
01cb3a4b7d when regenerating cards, use fact's creation date 2009-06-29 23:30:13 +09:00
Damien Elmes
e1c3cc7b5c honour card/fact creation order when exporting as text 2009-06-29 23:26:35 +09:00
Damien Elmes
5e9a68d4c7 fix problem upgrading shared decks 2009-06-28 22:23:40 +09:00
Damien Elmes
b1f213644e tweak deck stats 2009-06-28 10:54:05 +09:00
Damien Elmes
1cc077e1e7 make sure save as copies deck vars 2009-06-27 17:20:49 +09:00
Damien Elmes
f0c5833bf5 bump version number for beta 2009-06-26 15:47:13 +09:00
Damien Elmes
a12878347a force always on top for the video window, add a hook to fix an osx issue 2009-06-26 10:51:22 +09:00
Damien Elmes
b23dc8053d updated translations from jarvik 2009-06-26 09:47:34 +09:00
Damien Elmes
0d40fb6743 Merge branch 'master' of git://github.com/sanna/libanki 2009-06-26 09:43:30 +09:00
Damien Elmes
35731d0cb3 move leech detection into libanki 2009-06-26 08:10:33 +09:00
Damien Elmes
2b86cd6b33 add ability to customize separato in csv import 2009-06-26 07:13:14 +09:00
Susanna Björverud
f90a15acb4 Updated version string to 0.9.9.8.3 for Swedish translation and reran translation.sh 2009-06-25 10:42:42 +02: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
fd6ea460ae bump version 2009-06-25 06:49:48 +09:00
Damien Elmes
27732e3553 catch large # of reviews in full sync, reduce limit to 500 2009-06-25 05:47:14 +09:00
Damien Elmes
1e7cae5202 add leech control 2009-06-25 05:24:02 +09:00
Damien Elmes
1bd5c988b1 create mplayer threads lazily on play, make sure not to deadlock 2009-06-25 04:35:58 +09:00
Susanna Björverud
b5b3f9fd8c Updated version number in Swedish translation and reran translation.sh 2009-06-23 16:49:50 +02:00
Damien Elmes
1a5d243520 reenable removal of suspended tag 2009-06-23 23:43:21 +09:00
Damien Elmes
3270417cfd bump version number 2009-06-23 23:29:09 +09:00
Susanna Björverud
19327c317b Updated Swedish translation and reran translation.sh 2009-06-23 09:05:32 +02:00
Damien Elmes
03dff653ab handle latex too 2009-06-23 06:41:19 +09:00
Damien Elmes
28a45a4f4c add support for downloading missing media 2009-06-23 06:30:14 +09:00
Damien Elmes
a4d1c55d4f if mplayerCond is none, finish thread 2009-06-23 06:29:52 +09:00
Susanna Björverud
ea5a867397 Updated Swedish translation and reran translation.sh 2009-06-21 20:07:29 +02:00
Damien Elmes
2f93ca3d8f reuse features as media url, blank 2009-06-21 06:51:48 +09:00
Damien Elmes
6b7c0d7997 fix missing media problem, fix json decode float 2009-06-21 04:36:36 +09:00
Damien Elmes
31f6b83b88 rebuild translations 2009-06-21 03:34:02 +09:00
Damien Elmes
88acd65858 updated German from Michael Jürges 2009-06-21 03:33:18 +09:00
Damien Elmes
2b9220e5bd Merge branch 'master' of git://github.com/sanna/libanki 2009-06-21 03:18:43 +09:00
Damien Elmes
f94104ed9f new backup-friendly backup handling 2009-06-20 02:05:11 +09:00
Damien Elmes
1f0a8edfa4 strip out mediaSupported 2009-06-20 01:32:20 +09:00
Damien Elmes
3d81181323 bulk media support -> local media copy, always send media table 2009-06-19 11:50:31 +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
f96a7a7c5b Reverting "suspend/unsuspend noweb on full sync"; obsolete 2009-06-19 10:10:37 +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
Susanna Björverud
98be8e1c47 Fixed error in Swedish translation and reran translation.sh 2009-06-18 10:36:39 +02:00
Susanna Björverud
6a8e3effe8 Updated Swedish translation and reran translation.sh 2009-06-18 09:54:08 +02: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
b079df2a13 don't use communicate(), catch win32 error 2009-06-18 07:11:39 +09:00
Damien Elmes
e6b207f7af force media sync to go in one direction 2009-06-18 06:48:41 +09:00
Damien Elmes
d0653f2f7a make mplayer threads daemons 2009-06-18 06:43:12 +09:00
Damien Elmes
22efbaaf81 fix mplayer blocking on debug output 2009-06-18 06:39:21 +09:00
Damien Elmes
0cd3b517b3 make sure to use unicode in suspended 2009-06-18 06:11:22 +09:00
Damien Elmes
9cab497217 remove obsolete methods in csvfile 2009-06-18 05:52:03 +09:00
Damien Elmes
ad5a7c8bf7 close mplayer on deck close as media path may change 2009-06-18 05:49:08 +09:00
Damien Elmes
8c8a76d08d updated japanese translation from jarvik 2009-06-18 05:39:03 +09:00
Damien Elmes
5eb1a69735 catch unicode decode errors in csv import 2009-06-18 05:37:56 +09:00
Damien Elmes
e62967ecb1 switch to python csv 2009-06-18 05:21:47 +09:00
Damien Elmes
b6a50db1c2 rebuild queue after upgrade mostly done 2009-06-18 04:25:45 +09:00
Damien Elmes
093fb4695b suspend/unsuspend noweb on full sync 2009-06-18 04:04:50 +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
03369658ee remove sleep debugging 2009-06-16 04:01:13 +09:00
Damien Elmes
717044dcad add progress handler back to full sync upload 2009-06-16 03:59:54 +09:00
Susanna Björverud
88dab64bfc Updated Swedish translation and reran translation.sh 2009-06-15 20:06:48 +02:00
Damien Elmes
aca7962fe3 updated polish translation from piotr 2009-06-16 02:25:11 +09:00
Damien Elmes
cffa1e50c3 Merge branch 'master' of git://github.com/sanna/libanki 2009-06-16 02:24:49 +09:00
Damien Elmes
a478e9af6b apply translation patch from piotr 2009-06-16 02:23:56 +09:00
Susanna Björverud
0402c2b8e2 Updated Swedish translation 2009-06-15 17:46:56 +02:00
Susanna Björverud
7d34b35b75 Merge branch 'master' of git://ichi2.net/libanki 2009-06-15 17:37:03 +02:00
Damien Elmes
5b8832402a fix close post sync 2009-06-16 00:02:26 +09:00
Damien Elmes
3b99232f7a switch to urllib2 to pick up proxy, monkey-patch httplib to incrementally send 2009-06-15 23:01:43 +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
8e92a4dfc8 don't poll empty mplayer 2009-06-15 11:45:11 +09:00
Damien Elmes
e66e66c614 don't catch all osx errors 2009-06-15 11:37:02 +09:00
Damien Elmes
7cac17a543 restart mplayer if it has stopped 2009-06-15 11:26:42 +09:00
Damien Elmes
8d3678b9fb mark deck dirty on reset cards 2009-06-15 06:57:50 +09:00
Damien Elmes
fb8f2bd09f handle interrupted system call errors on mplayer shutdown 2009-06-15 06:57:36 +09:00
Damien Elmes
e578ffc721 map all file descriptors to work with py2exe 2009-06-13 16:01:58 +09:00
Damien Elmes
efb71c754c bump protocol version 2009-06-13 01:14:54 +09:00
Damien Elmes
2db2b65df0 set deck created time on download 2009-06-12 22:41:21 +09:00
Damien Elmes
b5da38474f allow arbitrary number of args in filters 2009-06-12 22:21:57 +09:00
Damien Elmes
9d8df81e11 cleanup mplayer slave on exit 2009-06-12 20:26:00 +09:00
Susanna Björverud
79aada5288 Bump version number, no string changes, for Swedish translation 2009-06-12 08:42:30 +02: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
3085ce7328 use mplayer slave mode 2009-06-11 03:29:07 +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
28f6df93cb assert response ok 2009-06-10 22:33:20 +09:00
Damien Elmes
261c70b8c2 set first answered on reset 2009-06-10 21:23:30 +09:00
Damien Elmes
0dc07bcfd1 support get(x, default) in facts 2009-06-10 21:22:29 +09:00
Damien Elmes
fe6fb005b6 do partial tag update on sync 2009-06-10 20:58:54 +09:00
Damien Elmes
cc50a5fdae updated spanish translations 2009-06-09 04:09:55 +09:00
Damien Elmes
abbd7f1d3c Merge branch 'master' of git://github.com/sanna/libanki 2009-06-09 01:40:43 +09:00
Damien Elmes
8a40dbc35c bump version number 2009-06-09 01:31:38 +09:00
Damien Elmes
5cb85176e6 include all jinmei in missing/seen 2009-06-08 21:44:21 +09:00
Damien Elmes
c9f78cb7b6 add class to question/answer 2009-06-08 13:39:17 +09:00
Damien Elmes
845aede221 if show failed cards at end, use maxFailed = 0 2009-06-08 12:36:23 +09:00
Susanna Björverud
4e023797d7 Updated Swedish translation and reran translation.sh 2009-06-07 18:59:05 +02:00
Damien Elmes
bf59bcd1d7 remap mnemosyne latex tags 2009-06-07 02:50:09 +09:00
Damien Elmes
6ffa8cd191 make kakasi cmd more easily customizable 2009-06-06 23:51:58 +09:00
Damien Elmes
f47afc3ebf bump version 2009-06-06 22:36:34 +09:00
Damien Elmes
1ec8baa459 add filter support 2009-06-06 21:56:44 +09:00
Damien Elmes
40a7278aa5 include kanji in reading generation 2009-06-06 21:24:20 +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
06780e56fd Merge branch 'master' of git://github.com/sanna/libanki 2009-06-06 17:37:56 +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
Susanna Björverud
eaf63612a8 Updated Swedish translation and reran translation.sh 2009-06-05 20:37:12 +02:00
Damien Elmes
d1c73cb002 don't use full sync in local sync 2009-06-06 01:11:14 +09:00
Damien Elmes
d7961413b4 make sure to set card model id when creating cards, tweak code formatting 2009-06-06 01:09:08 +09:00
Damien Elmes
f5facee398 make sure to close temp file fds, add full sync to sync() 2009-06-05 15:16:11 +09:00
Damien Elmes
dd9ba0e833 support htmlquestion/answer without orm 2009-06-04 17:17:09 +09:00
Damien Elmes
15b5e3b6c0 hack for race condition with queue clearing 2009-06-04 09:37:59 +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
b136e505b0 strip <style> tags as well 2009-06-04 07:07:49 +09:00
Damien Elmes
91afe651b3 randomize after .anki import 2009-06-04 06:59:07 +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
4d1ea887dd rename rather than copy file if same name but different case in media check 2009-06-04 04:20:19 +09:00
Damien Elmes
5692c91855 add check for fields without field model 2009-06-04 04:19:53 +09:00
Damien Elmes
feac19941d updated polish translations 2009-06-02 15:59:16 +09:00
Damien Elmes
4b883e2c16 don't clobber original deck if failure in sync 2009-06-02 15:41:30 +09:00
Damien Elmes
d35ef18889 make sure to set host header 2009-06-02 04:16:49 +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
a1166215fd implement full sync downloading 2009-06-02 03:19:16 +09:00
Damien Elmes
8a19bd4c57 implement full sync uploading 2009-05-31 01:23:31 +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
Emilio Wuerges
d9d7fff820 fixed jinmei (reg) and jinmei (var) lists 2009-05-29 02:27:23 +09:00
Damien Elmes
bb21a0a517 update jinmeiyou and tweak formatting 2009-05-28 00:54:45 +09:00
Damien Elmes
c681159951 strip trailing whitespace, joyo->jouyou 2009-05-28 00:39:26 +09:00
Emilio Wuerges
1add5e4ca8 Added New Joyo Kanji list to kanji statistics 2009-05-28 00:31:22 +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
df0e4d2446 ensure tags are synced properly in one way sync 2009-05-21 02:11:33 +09:00
Damien Elmes
423974934c unify decks/deck -> Deck, fix & build translatations 2009-05-21 01:04:15 +09:00
Damien Elmes
a9044a4d8c Merge branch 'master' of git://github.com/sanna/libanki 2009-05-21 01:00:10 +09:00
Damien Elmes
b8e4358b7b Norwegian translations from Lars Lem 2009-05-21 00:59:54 +09:00
Susanna Björverud
b9e30cb9ba Updated version string in Swedish translation and reran translation.sh 2009-05-17 19:06:42 +02:00
Damien Elmes
7588eb9650 don't need to mention views/indices 2009-05-16 05:12:44 +09:00
Damien Elmes
936106e4c9 Merge branch 'master' of git://github.com/sanna/libanki 2009-05-16 05:12:13 +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
Susanna Björverud
dd8f7c4c43 Updated Swedish translation 2009-05-15 20:17:12 +02: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
d091166fe5 bump version 2009-05-16 00:50:30 +09:00
Damien Elmes
876fac87b3 Merge branch 'master' of git://github.com/sanna/libanki 2009-05-16 00:49:51 +09:00
Damien Elmes
ebf83d898e don't clobber deck modified when expired cards on open 2009-05-16 00:49:33 +09:00
Susanna Björverud
1c6cc5dbf2 Updated Swedish translation and reran translation.sh 2009-05-14 14:45:34 +02:00
Damien Elmes
1e275db81d add stats sync direction to make it clearer 2009-05-13 15:41:31 +09:00
Damien Elmes
2b5f2fa896 if the time is over a minute, cap to a minute instead of assuming avg 2009-05-11 18:57:35 +09:00
Damien Elmes
6e58308370 bump version again 2009-05-09 06:53:28 +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
b653d4dba9 bump version 2009-05-09 04:13:45 +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
29cd8aefc9 bump version 2009-05-06 16:07:24 +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
91f06b31d6 updated Polish and German from Piotr Kubowicz 2009-05-06 12:45:55 +09:00
Damien Elmes
992f7af50e make priorities sort better 2009-05-06 12:44:43 +09:00
Damien Elmes
3b7bf1f573 updated mongolian translations from Charlene Barina 2009-05-06 12:34:13 +09:00
Damien Elmes
ac5a92214e don't include new cards in workload calculation 2009-05-04 01:50:09 +09:00
Damien Elmes
f32f96fb53 if updating priorities results in a suspend, update due counts 2009-05-01 04:36:26 +09:00
Susanna Björverud
961db76e63 Updated Swedish translation and reran translation.sh 2009-04-30 10:36:10 +02:00
Damien Elmes
4a59e9d5ae patch to fix sync translation from piotr 2009-04-30 05:21:52 +09:00
Damien Elmes
2424151c9f update polish translations from piotr 2009-04-30 05:21:43 +09:00
Damien Elmes
9692041087 bump version 2009-04-30 05:14:05 +09:00
Damien Elmes
796ad5962b rename instance var to avoid deprecation warning 2009-04-29 15:28:13 +09:00
Damien Elmes
1d24158f90 bump version 2009-04-29 12:44:28 +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
54252afaf1 more chinese translations from GUO Siliang 2009-04-28 17:59:59 +09:00
Damien Elmes
de693dbc91 Merge branch 'master' of git://github.com/sanna/libanki 2009-04-28 17:59:27 +09:00
Damien Elmes
33c59a3006 new review early handling so that we can recover on load 2009-04-28 17:12:50 +09:00
Susanna Björverud
5d0fb5579f Updated Swedish translation and reran translation.sh 2009-04-27 20:11:16 +02:00
Damien Elmes
c89d75b01c bump version 2009-04-25 21:41:13 +09:00
Damien Elmes
90f726e634 remove version numbers from import, as osx gets confused 2009-04-25 03:57:56 +09:00
Damien Elmes
e51fec907b bump version 2009-04-25 03:28:21 +09:00
Damien Elmes
169dc16ced remove deprecated popen call 2009-04-25 03:27:46 +09:00
Damien Elmes
61fc7b4430 lower tags in python, as sqlite doesn't have full unicode tables 2009-04-25 03:04:52 +09:00
Damien Elmes
2944b8194b if audio player fails to start, give better error 2009-04-25 02:38:48 +09:00
Damien Elmes
c0c969d686 Merge branch 'master' of git://github.com/sanna/libanki 2009-04-25 01:10:37 +09:00
Damien Elmes
2c60151a45 ignore console input in mplayer 2009-04-24 02:16:54 +09:00
Susanna Björverud
87d8656f49 Updated Swedish translation and reran translation.sh 2009-04-23 18:13:32 +02: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
94df742a59 fix bug with zero imports, improve speed with zero imports 2009-04-23 02:00:52 +09:00
Damien Elmes
155de15101 greatly improve import speed on large decks, randomize too 2009-04-23 01:58:40 +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
19584bd642 don't dirty cards on sync 2009-04-22 21:57:25 +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
c8731bc49c add mongolian translation from Charlene Barina 2009-04-20 23:46:43 +09:00
Damien Elmes
013f3d00a8 support * wildcard in normal text search too 2009-04-20 21:50:29 +09:00
Damien Elmes
5be89d13d7 bump version 2009-04-18 23:44:55 +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
541dd3e38e improve speed of tagIds() 2009-04-18 02:39:18 +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
5a912faeab escape tags on mnemosyne import 2009-04-13 12:40:51 +09:00
Damien Elmes
b9789cbd50 Chinese translation from Siliang GUO 2009-04-11 23:17:50 +09:00
Damien Elmes
3cb299a1d5 bump version, remove debugging code 2009-04-11 02:35:55 +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
d4235aaa34 parse lastSync as a float to fix problem with latest simplejson 2009-04-11 01:05:35 +09:00
Damien Elmes
51213784a8 init progress handle at start, tweaks for faster deck startup 2009-04-11 00:20:52 +09:00
Damien Elmes
0959689463 use external player on mac too 2009-04-10 22:23:41 +09:00
Susanna Björverud
56098f18a8 Updated Swedish translation and reran translation.sh 2009-04-10 14:46:29 +02: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
f2db5c27d6 Merge branch 'newSpaced' 2009-04-10 14:43:21 +02:00
Susanna Björverud
87b4e72f47 Experimenting with selecting cards that are both new and spaced 2009-04-10 10:57:49 +02:00
Damien Elmes
c3d67c9818 add mark's latest taiwanese translations, run translate.sh 2009-04-10 16:00:22 +09:00
Susanna Björverud
426eb204a4 Updated Swedish translation and reran translation.sh 2009-04-09 15:22:27 +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
6715f32237 Updated Swedish translation and reran translation.sh 2009-04-07 11:14:41 +02:00
Susanna Björverud
8d9c1cf191 Adding html comments to strings to allow them to be translated differently 2009-04-07 11:14:10 +02:00
Susanna Björverud
ac2213b89b Updated Swedish translation and reran translation.sh 2009-04-07 08:57:00 +02:00
Susanna Björverud
c4304fa195 Plural support for some strings 2009-04-07 08:56:35 +02:00
Damien Elmes
ba716e2066 conditionally apply meta 2009-04-07 12:22:35 +09:00
Damien Elmes
d9aa62d370 bump version number 2009-04-07 11:57:49 +09:00
Damien Elmes
c7f9cec657 add deck vars 2009-04-07 11:55:08 +09:00
Damien Elmes
aed9fb1c61 update tag priorities when deck is bundled 2009-04-06 23:53:04 +09:00
Damien Elmes
1d6e3f0b97 bump version number 2009-04-06 13:49:00 +09:00
Damien Elmes
4e3e6d3148 update translations 2009-04-06 13:30:28 +09:00
Damien Elmes
d09709fb50 use tag cache for great speed increase in cram, allow card id limit 2009-04-06 12:16:09 +09:00
Damien Elmes
085fbf3bcc add hack to prevent qt movie for now 2009-04-06 11:47:14 +09:00
Damien Elmes
10816ee5d7 Merge branch 'master' of git://github.com/sanna/libanki 2009-04-06 11:43:32 +09:00
Damien Elmes
7e9453a43a new german translation 2009-04-06 11:42:48 +09:00