Commit graph

392 commits

Author SHA1 Message Date
Arne Ludwig
b2cf86b905 Don't mind LaTeX commands beginning with bad names 2015-07-30 11:44:47 +02:00
Damien Elmes
c38b267b2d if we detect a schema change, we must make sure not to update cards
fixes https://anki.tenderapp.com/discussions/ankidesktop/13226-bug-endless-error-report-in-browser
2015-05-30 13:05:22 +10:00
Damien Elmes
a27847de58 DEV->ANKIDEV 2015-05-19 14:26:33 +10:00
Damien Elmes
9c2dcf1ee7 bump version 2015-03-25 01:12:50 +11:00
Damien Elmes
b0f7ddfefb don't bump mod time when moving cards into/out of a filtered deck
fixes the following:
- create a filtered deck and sync it
- review cards in the filtered deck and delete it
- sync again

The filtered deck deletion was bumping the mod time on cards at the
start of the sync, preventing the reviews from being synced from the
other side, leading to lost reviews and sanity check errors.
2015-03-19 15:35:04 +11:00
Damien Elmes
a0bad7da45 update media url 2015-03-13 17:06:34 +11:00
Damien Elmes
67c86e8f5e make sure sync msg is saved before we abort sync 2015-03-12 12:51:05 +11:00
Damien Elmes
7024fed002 fix cont=False handling in sync 2015-03-02 21:09:12 +11:00
Dave Shifflett
643ec35449 Use alternate pattern match during field changes
When a user renames or deletes a field, Anki tries to go through the
user's templates to substitute occurrences of that field name with its
new name or remove the field.

However, if the user has multiple Mustache placeholders on a single
line, this does not work as intended because the leading (.*) capture
group grabs the text in-between the two (or more) Mustache placeholders.

Examples:

    {{#Flag}}
        ...
    {{/Flag}}{{^Flag}}
        ...
    {{/Flag}}

or

    {{Front}} {{#Flag}}...{{/Flag}}

or

    {{Front}} Hello. {{Victim}}
2014-12-29 20:09:09 -06:00
Damien Elmes
e294469521 cont should be checked befoer any further processing 2014-11-06 16:56:16 +09:00
Damien Elmes
6e7e08ebd0 be explicit about modSchema()'s check flag
- remove gui code that adds exceptions for syncing
- use check=False for all syncing and upgrade code
2014-11-03 16:28:12 +09:00
Soren I. Bjornstad
519bf5fec7 fix inconsistency in default note type names
The value used internally was changed at some point and the text that
was added to the GUI was not.
2014-10-23 14:28:26 -05:00
Soren I. Bjornstad
44425ab9d5 Merge branch 'master' of https://github.com/dae/anki 2014-10-23 14:23:14 -05:00
Damien Elmes
acfbc41576 bump version 2014-10-19 17:00:26 +09:00
Damien Elmes
3d5d852708 reduce sync chunk size 2014-10-19 16:58:26 +09:00
Damien Elmes
08e5caef87 bump version 2014-10-18 16:10:12 +09:00
Damien Elmes
77dfd63f1e comment out high-dpi+transparent latex example 2014-10-09 18:12:25 +09:00
Damien Elmes
47c3bb0796 make sure we set usn when pulling in dconf from apkg 2014-10-08 12:54:30 +09:00
Soren I. Bjornstad
a430803774 Merge branch 'master' of https://github.com/dae/anki 2014-09-27 10:18:10 -05:00
Damien Elmes
ba7abb53e2 make sure we save note type after fixing ad bug 2014-09-27 10:32:21 +09:00
Soren I. Bjornstad
dd0e6f2a65 add {{Subdeck}} special field
If the deck is a several levels into a tree, it can be needlessly
verbose to list them.
2014-09-23 10:03:19 -05:00
Damien Elmes
f3fd5fb2fe bump version 2014-09-21 16:30:45 +09:00
Damien Elmes
d46bbabae7 add class=latex to latex img tags 2014-09-19 18:00:11 +09:00
Damien Elmes
5bb09ed77a don't add <br> tags when importing html
fixes #1098
2014-09-15 15:24:50 +09:00
Derbeth
d2b1d187da allow better translations of added cards statistics 2014-08-28 08:16:12 +02:00
Damien Elmes
591015417b Merge branch 'master' of https://github.com/sobjornstad/anki 2014-08-22 22:06:13 +09:00
Soren I. Bjornstad
439f9b766d accept ideographic space as tag separator
See also 6877cb0.
2014-08-14 10:51:43 -05:00
Soren I. Bjornstad
625d7d5a82 rename fields in template properly when more than one modifier used
Previously something like {{type:cloze:Text}} in the template would not
be renamed when the field was renamed.
2014-08-11 11:33:39 -05:00
Soren I. Bjornstad
1ea9fb3d4a don't allow nesting things under filtered decks when manually renaming
5e74976 fixed it for drag and drop, but realized it was still possible
to do so by using the rename function manually.
2014-08-10 14:36:45 -05:00
Damien Elmes
c4fffdda92 Merge branch 'master' of https://github.com/sobjornstad/anki 2014-08-06 10:29:31 +09:00
Soren I. Bjornstad
408fc63b48 create "added" graph
This simple graph shows how many new cards you have added to a deck or
collection over time.
2014-08-05 09:50:09 -05:00
Damien Elmes
25c041bc0f unquote does need utf8, but we need to convert back to unicode after 2014-08-05 12:59:31 +09:00
Damien Elmes
08510a4a53 Revert "we shouldn't encode to utf8 when unquoting"
This reverts commit 2dd28d86a2.
2014-08-05 12:58:14 +09:00
Soren I. Bjornstad
0914c01706 Merge branch 'master' of https://github.com/dae/anki 2014-08-04 10:44:43 -05:00
Soren I. Bjornstad
b1e361bb32 don't allow tags of different cases
Previously they were allowed to be added, but all searches and
operations treated them as case-sensitive, creating an inconsistency.
The new implementation will change new tags with different case than
existing ones to the version currently in the database.

This may cause some slowdown in collections with a very large number of
tags since the only way to do this at the moment is to scan through
every one of them. Changing the format tags are stored in in the future
may be useful.
2014-08-04 10:44:32 -05:00
Damien Elmes
2dd28d86a2 we shouldn't encode to utf8 when unquoting 2014-08-04 12:54:54 +09:00
Damien Elmes
d53346d783 limit url unquoting to image tags
this prevents random text like %20 in a field from being converted
when note is saved
2014-08-01 09:42:28 +09:00
Damien Elmes
dd2b6cb07d ignore >100MB files 2014-07-30 04:32:18 +09:00
Damien Elmes
3ee1937310 we need to count up for downloads
as we're streaming changes we don't know the total amount of downloads
required
2014-07-29 07:37:30 +09:00
Damien Elmes
cf801e4fb4 display more feedback when syncing media
deletes in particular take some time for the server to process, but
don't require much bandwidth, leading to the progress appearing to
have pause when content is actually being processed

this also gives the user an idea of how long the process will take to
complete
2014-07-28 17:00:26 +09:00
Damien Elmes
f5d60c70e2 remove unused functions 2014-07-28 14:28:12 +09:00
Damien Elmes
da777160bc bump version 2014-07-21 14:30:32 +09:00
Damien Elmes
f54f5870fa deauthing should reset lastUsn to 0
thanks to houssam for the heads up!
2014-07-20 03:37:31 +09:00
Damien Elmes
ed34d5bc94 bump version 2014-07-18 20:08:33 +09:00
Damien Elmes
3224a155a7 normalize filenames as we sync
user still needs to run "check media" if their fields are encoded
incorrectly, but by fixing on the fly we'll ensure mediaSanity doesn't
fail
2014-07-15 11:49:03 +09:00
Damien Elmes
ba8ed39e13 fix media sync thinking >25 changes is a concurrent update 2014-07-15 11:36:52 +09:00
Damien Elmes
77c9d5f5f3 tweak dev url 2014-07-12 18:21:49 +09:00
Damien Elmes
944ba2e90f Merge branch 'master' of https://github.com/sobjornstad/anki 2014-07-10 11:10:57 +09:00
Damien Elmes
d3807e3180 don't redetect delete which leads to sync error 2014-07-08 13:45:29 +09:00
Damien Elmes
df72c5a55f split media and regular server urls 2014-07-08 11:16:51 +09:00
Soren I. Bjornstad
1fc1c56aa9 fix error on stats when translation had %f in different place 2014-07-05 10:39:00 -05:00
Damien Elmes
999c53b5ec fix another downgrade+upgrade bug 2014-07-05 11:37:28 +09:00
Damien Elmes
1cb2aa077a must make sure to detach old media db before renaming 2014-07-05 07:21:32 +09:00
Damien Elmes
014787c4cb log mediaChangesZip() 2014-07-04 18:14:45 +09:00
Damien Elmes
a93c3423e3 must commit on concurrent update 2014-07-04 18:06:40 +09:00
Paul Hartmann
6877cb0393 add support for ideographic space in card search browser 2014-07-03 18:44:35 +02:00
Damien Elmes
06b61fc2c7 Merge branch 'master' of https://github.com/sobjornstad/anki 2014-07-01 06:44:24 +09:00
Soren I. Bjornstad
2d7e1ad017 another translation fix 2014-06-30 09:25:19 -05:00
Damien Elmes
7fa79bf220 Merge branch 'master' of https://github.com/sobjornstad/anki 2014-06-30 15:09:40 +09:00
Soren I. Bjornstad
0071ddfb89 fix ngettext mistake in cards/minute stat
introduced in 46a38f843e
2014-06-29 12:56:05 -05:00
Damien Elmes
1e34696c5b Merge branch 'master' of git://github.com/sobjornstad/anki into sobjornstad-master
Conflicts:
	anki/exporting.py
2014-06-29 04:07:00 +09:00
Soren I. Bjornstad
c3434ff751 update note type on apkg import when only templates have changed
Previously, it only updated if card/note count was different, even if
the templates / styling information had been updated.
2014-06-28 13:51:30 -05:00
Soren I. Bjornstad
a261f15269 change out of temp media folder before deleting it
In some cases, not doing so could cause a "this file is being used by
another process" error.
2014-06-28 11:30:28 -05:00
Damien Elmes
eba3aa583c if media.db import fails, start anew 2014-06-28 05:06:43 +09:00
Soren I. Bjornstad
46a38f843e fix rounding of cards/minute; use 1 decimal place 2014-06-26 10:07:58 -05:00
dae
2aa7714f87 new media syncing protocol
- media syncing no longer locks the account, so it can be done
  in the background in the future, and multiple clients can safely
  sync media at the same time
- all operations are now idempotent, so they can be repeatedly safely
  in the event of a connection error
- whether it's a normal incremental sync, an initial sync,
  or the media database has been deleted, no files will be uploaded
  or downloaded if they already exist on the other side
- file removals are now chunked like additions & updates, preventing
  timeouts due to large requests
- if the server can't process a chunk in time, it will return a count
  of what it did process, so the client can retry the rest

Notes for AnkiDroid:

- when porting this, recommend you pick a different name for the
.media.db2 file, so users don't accidentally copy the AD version to
the desktop or vice versa
- please make sure filenames are added to the zip in NFC form
2014-06-26 09:00:38 +09:00
Soren I. Bjornstad
a570779a26 update all duplicates when importing
If duplicate notes are already in the collection and, based on the first
field of all of them, they should be updated, update all of them instead
of just the first one we come across.
2014-06-24 15:55:19 -05:00
Soren I. Bjornstad
72b4148127 make sure temp folder hasn't been deleted since creation 2014-06-24 14:50:39 -05:00
Soren I. Bjornstad
ba084cb46a don't insert <br> into text of cards on import
When "allow HTML" was turned off, Anki was replacing newlines with <br>s
in the text of the new notes before it escaped HTML characters, so the
line breaks were becoming &lt;br&gt;.
2014-06-21 11:02:34 -05:00
Soren I. Bjornstad
71ff86e3f3 change "suspended" label to "suspended+buried" 2014-06-20 19:23:53 -05:00
Soren I. Bjornstad
28bb109ded only display "added duplicate" message once
Even if there are several (duplicate) notes in the collection that
match, only send the message once to avoid making it look like multiple
dupes have been added.
2014-06-19 17:19:56 -05:00
Soren I. Bjornstad
5e74976361 prevent nesting things under filtered decks
This change keeps drag-and-drop behavior the same except for displaying
an error if an otherwise acceptable move would nest anything underneath
a filtered deck.
2014-06-18 16:26:49 -05:00
Soren I. Bjornstad
8620b81817 add unchanged count to import log 2014-06-17 09:38:26 -05:00
dae
1b646c1c8d mnemosyne changed version string in .db 2014-06-08 14:37:15 +09:00
dae
bc90904acd return success if media sync completes 2014-06-05 13:33:47 +09:00
dae
24e83abe22 fix empty search in filtered deck
was broken by bbc8f75d70
2014-06-03 17:54:15 +09:00
dae
8cdfce4dd8 fix latex generation caused by bug in patch 2014-06-03 17:35:19 +09:00
dae
85488afb8f add TimedLog for debugging 2014-06-03 17:26:06 +09:00
dae
cc4b9938c7 add note about latexCmds 2014-06-03 16:33:43 +09:00
Damien Elmes
4e41c61e73 Merge pull request #79 from joelmeyerhamme/patch-1
Expose latex command tool chain
2014-06-03 16:19:59 +09:00
dae
c89199aee9 Merge branch 'master' of https://github.com/hssm/anki 2014-05-28 17:42:27 +09:00
Houssam Salem
7b62094ea0 Add odid fix to db check (#1035) 2014-05-26 15:11:47 +10:00
dae
cda86307c0 round cards/minute (thanks to Markus) 2014-05-25 14:55:29 +09:00
rubyu
a83769b258 Fixes an issue fields are not being escaped in doExport(). 2014-05-21 14:52:43 +09:00
Joel Meyer-Hamme
980c68b2b0 Expose latex command tool chain
Dvi isn't compatible with quite a few Latex packages. I have been trying to include chemical formulas with the chemfig package. Exposing the tool chain to plugins would be very useful. For the record, I'm currently using:

´´´python
latexCmds = [
    ["pdflatex", "-interaction=nonstopmode", "tmp.tex"],
    ["pdflatex", "-interaction=nonstopmode", "tmp.tex"],
    ["pdfcrop", "tmp.pdf"],
    ["convert", "-density", "300", "tmp-crop.pdf", "tmp.png"]
]
´´´
2014-05-20 19:08:54 +02:00
Damien Elmes
bbc8f75d70 make sure OR clause doesn't allow suspended cards in filtered deck
fixes http://help.ankisrs.net/discussions/ankidesktop/6673-filter-decks-can-unsuspend-cards
2014-05-03 12:07:18 +09:00
Damien Elmes
00dd291819 bump version 2014-04-23 08:16:45 +09:00
Damien Elmes
fa57fd3ad9 don't fail if \n in cloze 2014-04-21 14:50:18 +09:00
Damien Elmes
89c9af7445 use default sample rate instead of forcing 44100
The 64 bit built of portaudio on OSX seems to generate a wav
file that says it's 44100 but is actually the default rate, leading
to samples playing too fast or slow.
2014-04-18 04:17:05 +09:00
Damien Elmes
5d1aeb4dde bump version 2014-04-16 01:36:43 +09:00
Damien Elmes
694682d964 fix multiple cloze tags contained on one line
inner regex was capturing multiple clozes. fixes
https://anki.tenderapp.com/discussions/ankidesktop/6599-empty-cards-3533-cards-to-delete
2014-04-16 01:15:59 +09:00
Julien Baley
fac360d744 Allows smoother transition from old modifier syntax {{a🅱️fld}} to new one {{a(b):fld}} 2014-04-14 17:21:28 +01:00
Damien Elmes
962c814d5b bump version again, as new cert was missing an intermediate 2014-04-12 15:54:25 +09:00
Damien Elmes
c529a77686 bundle new and old cert
fails to validate on some systems even when httplib2's default
certs are bundled, so we need this not just for SNI
2014-04-11 01:13:55 +09:00
Damien Elmes
01636dff00 bump ver 2014-04-10 15:00:32 +09:00
Damien Elmes
fcc4df821f disable explicit ca_certs
may have added this to support beta.ankiweb.net as python doesn't
support SNI, but it prevents changing cert
2014-04-10 14:02:35 +09:00
Damien Elmes
d56cf3c6b0 add fix for AD issue 2014-04-01 13:13:59 +09:00
Damien Elmes
5eed6679fd Merge pull request #69 from julienbaley/chained_mod_params
Adding support for parameters in modifiers
2014-03-14 13:53:06 +09:00
Damien Elmes
b1cb07077a include buried in suspended count 2014-03-14 11:56:15 +09:00
Julien Baley
90fd1c00c8 Adding support for parameters in modifiers: {{mod1(param1,param2):mod2(param3):field}} 2014-03-12 14:21:23 +00:00