Damien Elmes
2d4e88afbd
tolerate a str arg to writeData()
2013-10-09 13:13:48 +09:00
Damien Elmes
bc96a00fd2
we need to clear out std models on export or we end up renaming
...
and the rename affects the exporting deck as well
2013-10-06 09:45:38 +09:00
Damien Elmes
7aee582a58
loop should exit early, and allNames() doesn't need modification
2013-10-06 09:26:43 +09:00
Damien Elmes
6c304ebe2f
to normalize unicode we need to have unicode
2013-10-06 04:53:11 +09:00
Damien Elmes
3ed2861115
include platform in cv
2013-10-06 04:37:39 +09:00
Damien Elmes
e3a102ef92
bump version
2013-10-05 23:53:27 +09:00
Damien Elmes
f1837e7e0a
when ensuring model unique, check id not obj
...
this should fix an issue where we were attaching a suffix to non-duplicate
names on sync
2013-10-05 23:53:09 +09:00
Damien Elmes
f23392b6a3
Merge pull request #35 from hssm/compile-regex
...
Pre-compile HTML-stripping regexes.
2013-10-04 13:39:44 -07:00
Damien Elmes
9524dbed96
give note types unique name when adding/importing ( #325 )
2013-10-04 09:00:08 +09:00
Damien Elmes
f29a04ae29
bump sync ver to 7 and change meta return value
...
- /sync/meta now returns a dictionary
- it includes the following extra fields
- msg: if non-empty, show this message at the end of the sync
- cont: if false, show above message and abort sync
- uname: the user's email address, so it can be stored by the local client to
show users who have forgotten which email address they used. in the future
this will be saved only when logging in, so do a conditional access on it
2013-10-04 06:09:28 +09:00
Damien Elmes
b55761190f
option to tag notes in find dupes function
2013-10-04 00:07:11 +09:00
Damien Elmes
33403fd890
include client type in cv
2013-10-02 04:09:16 +09:00
Damien Elmes
621ba0e1ac
include client version in /sync/meta
2013-10-02 03:53:10 +09:00
Damien Elmes
7725a93d24
don't say tomorrow for burying until we introduce the new change
2013-10-02 03:50:59 +09:00
Damien Elmes
3d33436a86
move version number into libanki
2013-10-02 03:50:19 +09:00
Damien Elmes
318b4e371f
bump sync ver to 6 (see note)
...
when porting this to other platforms, please ensure you have ported all
changes in sched.py after 2.0.12 first
2013-09-27 17:14:23 +09:00
Damien Elmes
8277233827
remove invalid line
2013-09-27 17:13:26 +09:00
Damien Elmes
79ed57a445
reschedule should not operate on filtered/suspended/buried
...
this should fix some issues with rescheduled cards ending up in an invalid
state
2013-09-27 13:30:39 +09:00
Damien Elmes
d36655a8c7
use unicode when recording
2013-09-23 15:13:46 +09:00
Damien Elmes
d348179ad4
add internal option to disable burying on answer
2013-09-20 19:39:19 +09:00
Damien Elmes
0d1d8c5bf9
define standard encoding for unicode ( #893 )
...
- always store media references in fields in NFC form
- always encode filenames on disk in NFC form on machines other than macs
- use relevant encoding when placing files in the media folder during syncs
and apkg imports as well
- rename 'unused media' back to 'check media'
- check media can now automatically change media references and filename
encodings to the correct format
2013-09-20 19:28:44 +09:00
Damien Elmes
4d42282b7b
strip html in duplicate check ( #906 )
2013-09-20 17:25:24 +09:00
Damien Elmes
cc7ddca7d7
Merge branch 'new_branch_name'
2013-09-17 18:35:16 +09:00
Damien Elmes
fe0ed4dac9
fix replacement of other clozes
...
https://anki.tenderapp.com/discussions/ankidesktop/2904-cloze-deletion-behaves-oddly-instead-of-giving-error-when-single-colon-is-used?mail_type=queue
2013-09-16 13:28:19 +09:00
Damien Elmes
bd8707f54c
support import of renamed .apkg files
2013-09-11 15:56:59 +09:00
Damien Elmes
aa2b31a82b
honor home deck's new card bury setting
2013-09-11 15:43:26 +09:00
Damien Elmes
c1827e0561
unbury from overview shouldn't unbury all decks
2013-09-11 15:33:27 +09:00
Damien Elmes
511bde0396
change misleading note import msg
2013-09-11 15:30:31 +09:00
Damien Elmes
0bef1d8530
unbury on open/close and make sure we set usn when unburying
2013-09-04 04:38:00 +09:00
Damien Elmes
492ed33f4d
add relative overdueness option
2013-09-04 04:17:43 +09:00
Damien Elmes
a2463eb67d
unbury on open for now
2013-09-04 02:31:10 +09:00
Damien Elmes
0c2a1fe19e
report more info when note type changes prevent an import
2013-09-04 02:19:15 +09:00
Damien Elmes
e73bfa9d02
ignore qfmt/afmt when checking if note types are the same
2013-09-04 02:18:53 +09:00
Damien Elmes
4fe76257f1
about about and available languages
2013-08-22 15:54:33 +09:00
Damien Elmes
afde11671e
rework sibling handling and change bury semantics
...
First, burying changes:
- unburying now happens on day rollover, or when manually unburying from
overview screen
- burying is not performed when returning to deck list, or when closing
collection, so burying now must mark cards as modified to ensure sync
consistent
- because they're no longer temporary to a session, make sure we exclude them
in filtered decks in -is:suspended
Sibling spacing changes:
- core behaviour now based on automatically burying related cards when we
answer a card
- applies to reviews, optionally to new cards, and never to cards in the
learning queue (partly because we can't suspend/bury cards in that queue at
the moment)
- this means spacing works consistently in filtered decks now, works on
reviews even when user is late to review, and provides better separation of
new cards
- if burying new cards disabled, we just discard them from the current queue.
an option to set due=ord*space+due would be nicer, but would require
changing a lot of code and is more appropriate for a future major version
change. discarding from queue suffers from the same issue as the new card
cycling in that queue rebuilds may cause cards to be shown close together,
so the default burying behaviour is preferable
- refer to them as 'related cards' rather than 'siblings'
These changes don't require any changes to the database format, so they
should hopefully coexist with older clients without issue.
2013-08-10 15:56:26 +09:00
Damien Elmes
8a4fbcc430
unbury in deckbrowser, not deckduelist() ( #946 )
2013-08-08 15:19:57 +09:00
Damien Elmes
914f56dbc0
allow updates to existing notes in .apkg import
2013-08-08 13:01:47 +09:00
Damien Elmes
988fc102d8
remove redundant regex in latex code
2013-07-19 19:42:20 +09:00
Damien Elmes
adf4f4687c
allow includegraphics in latex
2013-07-18 19:04:38 +09:00
Damien Elmes
26a3c30365
escape + in deck names
2013-07-18 18:44:40 +09:00
Damien Elmes
c0454fe3e7
reduce max media count to 100 per chunk
2013-07-12 08:44:27 +09:00
Damien Elmes
2ba8c41fec
replace nbsp with standard space when stripping html
...
fixes https://anki.tenderapp.com/discussions/ankidesktop/1952-duplicate-not-detected-on-paste
2013-07-11 21:23:13 +09:00
Damien Elmes
0fa9b75af5
fix importing with schema change logic
...
the previous fix for #612 was broken, and led to notes with altered schemas
being imported with the incorrect schema
2013-07-11 18:47:49 +09:00
Damien Elmes
5ea074ed2a
make sure we always show 3 buttons for cards in initial learning ( #928 )
...
even if there's only a single learning step, the easy bonus means we need to
show both buttons
2013-07-11 17:59:44 +09:00
Damien Elmes
a538e29480
refactor illegal char handling and file adding for media
...
- add writeData() so we can add files to media folder without having to
save them in an intermediate folder first
- we were stripping or checking for illegal filename characters in
multiple places; factor those checks out into separate routines
- add * to invalid char list, and disallow both forward and backslash
- remove size checks in syncAdd(); is handled server-side
2013-07-11 15:33:24 +09:00
Damien Elmes
a3190d52f1
make sure we include 'px' in stats (thanks to steveaw)
2013-07-09 08:14:13 +09:00
Damien Elmes
2d4b79b490
keep scanning csv until we find non-zero field count ( #920 )
2013-07-03 04:23:33 +09:00
Damien Elmes
56143c346a
fix graph regression caused by div changes ( #913 )
2013-07-03 04:06:44 +09:00
Houssam Salem
0ce829b6b3
Pre-compile HTML-stripping regexes.
2013-06-23 18:37:39 +10:00
Damien Elmes
f2d538d546
catch errors trying to determine fs type
2013-06-14 13:15:05 +09:00
Damien Elmes
a6b44cff01
skip fat32 check on unmapped network drive ( #902 )
2013-06-10 15:32:21 +09:00
Damien Elmes
adaf951a5a
force y axis min of 0 in reps graph too
2013-06-06 08:19:32 +09:00
Damien Elmes
4d2101cf89
dupes->dupe (fix dupe search)
2013-06-06 07:40:18 +09:00
Damien Elmes
8e8de1e333
mnemosyne importer tweaks
...
- convert newlines to br
- non-greedy match mnemosyne clozes
2013-06-05 18:39:32 +09:00
Damien Elmes
a4b7a93bcc
mnemosyne importer improvements
...
- support cloze type
- use proper names for front/back, etc
- change <audio> to [sound:]
- change mnemosyne-style latex references
2013-06-03 13:58:40 +09:00
Damien Elmes
5db00d5815
fix find dupes when fieldname case differs
2013-06-01 10:49:33 +09:00
Damien Elmes
ec888eb2aa
fix bug in media sync where we weren't fetching needed files
2013-05-31 14:03:34 +09:00
Damien Elmes
122c5c8f4c
ensure we have access to col when removing notes while syncing
2013-05-31 10:42:24 +09:00
Damien Elmes
be78c3f9e3
better msg when media sanity fails
2013-05-30 10:54:55 +09:00
Damien Elmes
9714143af9
remove dropbox image escape hack
2013-05-29 09:34:12 +09:00
Damien Elmes
744d9abfdb
fix modification check in note merge
2013-05-28 14:41:12 +09:00
Damien Elmes
84a03d291d
modding the schema should also set collection modified
...
required for the force full sync case
2013-05-28 12:42:12 +09:00
Damien Elmes
e38aa0c615
fix importing of images
2013-05-27 16:20:53 +09:00
Damien Elmes
dceacff47c
tell server which files we need
2013-05-27 15:29:24 +09:00
Damien Elmes
0a81df60dc
automatically resync media, and don't send media server already has ( #583 )
2013-05-27 14:25:30 +09:00
Damien Elmes
cfac1eb99b
add utf8 input back to latex
...
This was what we originally had in templates in Anki 1. It was changed to
utf8x at one point, then we discovered that some LaTeX installs didn't have
that package so it was removed, when we should have reverted to utf8 instead.
This fixes things like umlauts but does not allow display of things like
Japanese text.
2013-05-27 10:52:55 +09:00
Damien Elmes
73b197b3a9
only duplicate notes with diff schema in anki1 import ( #612 )
2013-05-24 11:55:50 +09:00
Damien Elmes
97a92e5ea9
translation issues
2013-05-24 10:46:44 +09:00
Damien Elmes
97a342ae23
when media deleted during sync, move to trash instead of deleting
2013-05-23 13:38:51 +09:00
Damien Elmes
d72fb35825
need to order cards after import for sibling spacing ( #464 )
2013-05-22 13:16:12 +09:00
Damien Elmes
e61e849e09
Merge branch 'findhook'
2013-05-22 12:35:05 +09:00
Damien Elmes
ce1199e9cb
Merge branch 'addhook-search' of git://github.com/valgaav/anki into findhook
...
Conflicts:
anki/find.py
2013-05-22 12:34:21 +09:00
Damien Elmes
ddc01ad8e8
log deletions in text file
2013-05-22 12:27:37 +09:00
Damien Elmes
4f073f0b85
fix upgrading of latex references
2013-05-22 09:46:09 +09:00
Damien Elmes
918694a096
more media regexp fixes
...
- split quoted and unquoted image case into separate regexps, since we can't
include a group reference inside a character set
- disallow spaces in the non-quoted case
- this should fix matching on images with other attributes again
2013-05-22 09:45:58 +09:00
Damien Elmes
81b4e521cc
fix float issue in stats
...
[Beta Testing #23 ]
2013-05-22 08:56:15 +09:00
Damien Elmes
85cb7ef47e
ignore _ in field references ( #803 )
2013-05-18 18:57:24 +09:00
Damien Elmes
f97abacb4a
add mature today stat
2013-05-18 18:37:17 +09:00
Damien Elmes
3326254eec
fix cloze+latex issue in media check, and duplicate answers ( #757 , #758 )
...
we were replacing spans with spaces during review but not during media check.
just strip the tags instead, which makes the media check consistent and
doesn't result in multiple identical answers
2013-05-18 18:07:34 +09:00
Damien Elmes
201b54777a
leave new cards alone when exporting, so order is preserved ( #447 )
2013-05-17 16:22:11 +09:00
Damien Elmes
4aa634bc44
need greedy match on images
2013-05-17 16:20:27 +09:00
Damien Elmes
da66844f6b
canonify tags when saving, and strip quotes ( #794 )
2013-05-17 13:51:49 +09:00
Damien Elmes
8f36841281
ensure we match on identical closing quote ( #769 )
2013-05-17 12:23:56 +09:00
Damien Elmes
403a53cebf
shuffle after importing when random on ( #576 )
2013-05-16 21:55:57 +09:00
Damien Elmes
13a2943667
full media scan on fat32 drives ( #844 )
2013-05-16 17:58:30 +09:00
Damien Elmes
c8f4d3a582
check checksum of all filename alternatives when adding media
...
patch thanks to Julien Baley
2013-05-16 17:24:20 +09:00
Damien Elmes
3dd72ad4d6
log updates & duplicates ( #859 )
2013-05-16 17:24:12 +09:00
Damien Elmes
a7b9a7b055
fix bug where 2 buttons shown on second learn step ( #864 )
2013-05-16 17:10:31 +09:00
Damien Elmes
e06594a303
fix rescheduling of relearn cards ( #874 )
...
- need to reset 'odue'
- also need to reset 'due' so the new cards don't take on - timestamp
positions
2013-05-16 16:36:37 +09:00
Damien Elmes
3f6266a712
fix duplicate search in browser ( #855 )
2013-05-16 14:17:28 +09:00
Damien Elmes
0dceb0ce22
round() doesn't convert to int
2013-05-15 23:37:27 +09:00
Damien Elmes
f7c5003c1c
better error with very long fields in import ( #852 )
2013-05-14 18:38:35 +09:00
Damien Elmes
7ad33fea06
catch notes with invalid field count in db check
2013-05-14 18:12:31 +09:00
Damien Elmes
ab198c46be
unify pre-check, sanity-check and upload error messages
2013-05-14 15:41:18 +09:00
Damien Elmes
79d4451299
move full sync into preferences, and remove maintenance menu
2013-05-14 15:27:40 +09:00
Damien Elmes
e913c75fd7
perform basic check prior to syncing
2013-05-14 15:10:58 +09:00
Damien Elmes
d2535fd6cb
run basic integrity check prior to full up
2013-05-13 19:36:09 +09:00
Damien Elmes
a379e47ca5
handle cloned note types in mnemo import
2013-05-13 13:58:10 +09:00
Mike Blume
dcf097b55f
use futuristic division
...
Python used to use C-style division, where division of two ints was
truncated, and division involving a float resulted in a float.
This is confusing, because you often can't tell from looking at a
line of code in isolation what sort of division it's supposed to do.
With 'from __future__ import division' Python ensures that division is
always explicit.
// means (floored) integer division
/ means float division
regardless of argument types.
This should make the source a bit clearer now, as well as removing one
obstacle if Anki is ever ported to Python 3.
2013-05-05 11:09:16 -07:00
Damien Elmes
9875e26e06
make sure y axis starts at 0
...
https://anki.tenderapp.com/discussions/ankidesktop/793-strange-scaling-in-statistics-bar-bug
2013-05-04 15:45:57 +09:00
Damien Elmes
b571a4caa8
failure to find a field should not break entire query
...
https://anki.tenderapp.com/discussions/ankidesktop/656-unexpected-results-on-search-with-boolean-or-operator
2013-04-22 22:13:29 +09:00
Damien Elmes
c44cf32dc2
don't save note if no changes made ( #705 )
2013-04-11 19:20:23 +09:00
Damien Elmes
ed9fba954e
handle extra attributes in imgs in condition repl ( #700 )
2013-04-11 18:34:53 +09:00
ospalh
d806f44484
Only the Mac file system stores file names NFD-normalized. So do that normalization only there when looking for files.
2013-04-11 17:37:06 +09:00
Damien Elmes
55cd51c079
handle nbsp in furigana ( #327 )
2013-04-11 14:45:53 +09:00
Damien Elmes
a525d3c32c
make sure we don't chomp embedded newlines when clearing comments ( #722 )
2013-04-11 14:33:30 +09:00
Damien Elmes
7957dff33f
make sure sort field updated when field deleted ( #737 )
2013-04-11 14:23:06 +09:00
Damien Elmes
f3f7835032
add upper bound to # of media files in single zip
2013-04-11 14:13:11 +09:00
Damien Elmes
c437a38446
move card type deletion back to X on card tabs
2013-04-11 14:02:01 +09:00
Damien Elmes
e8e1bd9550
allow HTML in mnemosyne import ( #774 )
2013-04-11 13:28:30 +09:00
Damien Elmes
bf1af126b0
properly generate clozed latex in unused media check ( #775 )
2013-04-11 13:26:52 +09:00
Damien Elmes
0b7344c84f
when showing time with no decimal, round not floor
2013-04-01 14:48:17 +09:00
Damien Elmes
e64d825730
fix some sync issues
...
- better error message when upload fails
- don't show success message on error
- fix 'unable to find server' accidentally being catchall
2013-03-01 01:36:14 +09:00
Damien Elmes
487919fe6e
Merge branch 'master' of github.com:dae/anki
2013-02-26 18:41:56 +09:00
Damien Elmes
1efafedcaa
fix sanityCheck2 bug
2013-02-26 15:23:01 +09:00
Andreas Klauer
fcd3bd5eee
fix HTML in cards
2013-02-25 13:41:00 +01:00
Damien Elmes
9642ce9337
fixed off by one err in collection start date calc
2013-02-25 16:13:50 +09:00
Andreas Klauer
b6c9253034
support LearnedTimestamps and flipped cards
2013-02-24 23:39:36 +01:00
Andreas Klauer
a78c4d6c31
add Pauker Lesson Importer
2013-02-24 02:10:50 +01:00
Damien Elmes
fa07268763
don't allow invalid chars in file export ( #694 )
2013-02-20 15:12:07 +09:00
Damien Elmes
3de7b34fc6
must remove from lrn queue before resched as rev ( #668 )
2013-02-20 14:47:30 +09:00
Pauline Gomér
fc612a71d3
moved loading of plugins to initialization
2013-02-16 13:23:51 +01:00
Jon-Erik 'TorrentKatten' Johnzon
b07254cb09
added search-hook for plugins using "search" scope
2013-02-15 19:45:40 +01:00
Pauline Gomér
ff82aad50f
refactor the large if-elif-else used for searching
2013-02-15 19:45:40 +01:00
Damien Elmes
24bf9a023b
fix crash when ix_fields_factId was missing
2013-02-02 22:58:11 +09:00
Damien Elmes
60b5b77d65
allow apostrophe in deck names ( #623 )
2013-02-01 23:21:53 +09:00
Damien Elmes
71bc925e8b
show (end) when exiting with resched=off
2013-02-01 00:25:01 +09:00
Damien Elmes
cee9b2efd9
strip tags before including on card ( #505 )
2013-01-31 14:07:17 +09:00
Damien Elmes
19012e6110
don't set browser font on card creation ( #543 )
2013-01-29 09:40:47 +09:00
Damien Elmes
1203775aef
ignore html in conditional tags
2013-01-29 09:14:28 +09:00
Damien Elmes
073f129ab8
fix media sanity fail being identified as normal sanity error
2013-01-29 09:05:55 +09:00
Damien Elmes
8aadb18d4d
better warning when certs missing
2013-01-26 22:25:50 +09:00
Damien Elmes
439130d58a
mention that dyn may be bool
2013-01-25 19:18:24 +09:00
Damien Elmes
cb1485d18b
when reapplying fail mult, ensure minInt ( #552 )
2013-01-23 15:30:11 +09:00
Damien Elmes
17b68d5dc0
fix import of suspended anki1 cards ( #565 )
2013-01-23 15:28:11 +09:00
Damien Elmes
8d66578d43
move sanity check to server and automatically force full sync
...
- server will log mismatches so we don't require people to post on the forums
anymore or manually force a full sync
- if we find problems like missing notes, report that in the sanity check so
the server can keep track of problems
- when the server detects a conflict it can immediately abort the sync, so a
subsequent sync will no longer report a conflict
2013-01-18 09:17:12 +09:00
Damien Elmes
ef92719eeb
Revert "add automatic <br> back to field references"
...
This reverts commit 05a68488e7
.
2013-01-16 11:28:10 +09:00
Damien Elmes
05a68488e7
add automatic <br> back to field references
...
{{Front}}
{{Back}}
will now automatically add a <br> to the first field reference, like previous
Anki versions did. The <br> is too complicated for users who just want a plain
template without any HTML.
2013-01-15 08:28:39 +09:00
Damien Elmes
ab46fa0a70
don't fail when importing apkg that references subdirs
2013-01-15 07:43:10 +09:00
Damien Elmes
f5028c2573
force rdns for proxy ( #331 )
2013-01-15 07:30:49 +09:00
Damien Elmes
e610776bb0
possible fix for supermemo importer ( #480 )
...
Not sure why the original author was converting angle brackets separately -
that code breaks the example provided in #480 , but I'm not sure if removing it
will break other files.
2013-01-15 06:37:30 +09:00
Damien Elmes
120c1d4136
match a single note type in browser even if duplicate names
2013-01-15 06:15:27 +09:00
Damien Elmes
aefc58d5d5
we must remove cards from learning queue on bury
...
or they end up with an invalid status when unburied
https://anki.lighthouseapp.com/projects/100923/tickets/484-cant-sync
2013-01-15 05:38:40 +09:00
Piotr Kubowicz
12bde7b40f
allow 'Studied 1 card in ...' to be translated properly
2013-01-13 20:20:17 +01:00
Damien Elmes
e309a68306
update manual link
2013-01-09 07:50:49 +09:00
Damien Elmes
c335ea2cee
note type manager needs to ignore the default note type for current deck
2013-01-08 21:39:37 +09:00
Damien Elmes
ea89be5f4a
make sure we encode data as utf8 before checksumming
2013-01-08 10:42:15 +09:00
Damien Elmes
289f0a6452
automatically fix 1.2 errors when upgrading
2013-01-08 09:43:29 +09:00
Damien Elmes
0447cb4f41
fix issues with clozes and <% %>
2013-01-04 14:39:06 +09:00
Damien Elmes
e9b24f9f3e
don't indiscriminately modSchema on db check
2012-12-28 17:23:03 +09:00
Damien Elmes
8cf072c735
preserve image filenames when stripping html
...
- also do this for the sort field
2012-12-24 14:08:42 +09:00
Damien Elmes
e2c4fd5945
patch for httplib2 change from Arfrever
2012-12-22 13:31:36 +09:00
Damien Elmes
26ae5e1c47
spread reviews before sibling check
2012-12-22 12:36:51 +09:00
Damien Elmes
d11a1e0d54
allow browser font customization on a per-template basis
2012-12-22 10:10:52 +09:00
Damien Elmes
c6b0945af1
import descriptions in parent decks
2012-12-22 09:39:38 +09:00
Damien Elmes
cc9bbb2ab7
disable cert check when running through proxy
2012-12-22 09:20:54 +09:00
Damien Elmes
b2457811a2
optimize imports
2012-12-22 09:17:10 +09:00
Damien Elmes
e27cbd2cb7
reapply failure mult on failures in lrn queue
2012-12-22 07:32:49 +09:00
Damien Elmes
011cbde3b9
card tsv exporter
2012-12-21 21:32:21 +09:00
Damien Elmes
2095e5c4b3
strip HTML when calculating field checksum (users will need to checkDB)
2012-12-21 20:51:45 +09:00
Damien Elmes
f6ff63eeb8
earlier fix for logging new in filt broke logging of non-new in filt
2012-12-21 20:30:08 +09:00
Damien Elmes
395d80aa2f
fix i18n when /usr/bin/locale exists
2012-12-21 18:47:51 +09:00
Damien Elmes
1f1fa125f0
fix i18n on linux install
2012-12-21 18:04:26 +09:00
Damien Elmes
d477df8c28
merged libanki and ankiqt into single distro
2012-12-21 16:51:59 +09:00