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