Commit graph

448 commits

Author SHA1 Message Date
Self-Perfection
a5b0852360 Restore compression of SVG files on export 2016-09-02 14:27:24 +03:00
Damien Elmes
ddbf634dd5 longer ivl limit in db check
https://anki.tenderapp.com/discussions/ankidesktop/19394-strange-behavior-with-year-long-intervals
2016-08-24 14:38:04 +10:00
Damien Elmes
04c13d1348 use full path to packaged audio commands
ensures we use the packaged version over the system version
2016-07-26 12:15:43 +10:00
Damien Elmes
407aaae797 bump version 2016-07-14 21:37:41 +10:00
Damien Elmes
5655448919 explictly use utf8 when talking to mplayer
universal_newlines uses system locale which is ascii on osx unless
LC_CTYPE/LANG is set to utf8, so we need to be explicit about the
encoding we want instead

we also lose line buffering, so we have to explicitly flush
2016-07-12 16:55:10 +10:00
Damien Elmes
cc742df71a support PSV out of the box and make extending delims easier 2016-07-11 11:36:53 +10:00
Damien Elmes
2f10ebb3ab bump version 2016-07-07 23:40:12 +10:00
Damien Elmes
f8e300ab1d use utf8 for collection.log 2016-07-07 12:03:02 +10:00
Damien Elmes
05d13de766 fix up ankiweb.certs paths
also fixes
https://anki.tenderapp.com/discussions/ankidesktop/18420-portable-anki-sync-error
2016-07-07 11:58:06 +10:00
Damien Elmes
6dead737ca bump version 2016-07-05 21:35:53 +10:00
Damien Elmes
4175b6de5b Merge pull request #131 from ankitest/patch-5
next interval >= prev interval + 1
2016-07-04 16:32:57 +10:00
Damien Elmes
9de08e243e Merge pull request #134 from matthayes/master
Fix y axis tick rendering
2016-07-04 16:29:17 +10:00
Damien Elmes
94463991bc basic sync support
currently no progress shown on large uploads/downloads
2016-07-04 15:45:53 +10:00
Damien Elmes
0c20da1069 fix conditional templates 2016-06-30 22:23:31 +10:00
Damien Elmes
ac7b081ece add support for a few more languages 2016-06-29 16:37:29 +10:00
Damien Elmes
2c227da603 set rpath for bundled mplayer on linux 2016-06-29 14:21:48 +10:00
Damien Elmes
e131b20afd tweak mplayer loc on osx 2016-06-28 13:26:19 +10:00
Damien Elmes
14ae3d5936 normalize version number 2016-06-28 12:49:54 +10:00
Matthew Hayes
d3d9ce24d5 Fix y axis tick rendering
Previously, y axis ticks could be fractional.  Fractional ticks were always rounded to the nearest whole number for display.  This leads to confusing graphs where the bar and ticks do not match up.  For example, if the bar is 3 and the tick is 2.5, then the bar renders just above the tick but the tick is rendered as 3. They both then appear to have value 3 but don't line up.

To fix this behavior, we now indicate to flot that for the y axis we don't want fractional tick values (by setting tickDecimals to 0).  flot will pick tick values to accommodate this setting.  If for some reason the ticks are fractional, which shouldn't happen, we will render to one decimal place.  Otherwise we render whole numbers without the decimal.  Since we are counting reviews, this behavior makes more sense, because reviews are always whole numbers and never fractional.
2016-06-24 17:59:46 -07:00
Damien Elmes
4b478cd3e9 unused imports 2016-06-23 12:09:18 +10:00
Damien Elmes
cf2ea47076 bump version 2016-06-23 12:07:17 +10:00
Damien Elmes
1d75cff5e7 pyaudio is no longer optional 2016-06-23 12:04:48 +10:00
Damien Elmes
36c291c520 upgrade jquery & flot 2016-06-22 14:41:01 +10:00
Damien Elmes
4d88b62fbf fix py3 issues with audio code 2016-05-31 17:51:16 +10:00
Dmitry Mikheev
2b922b3055 PEP8 2016-05-27 18:47:48 +05:00
Dmitry Mikheev
181c6f6f91 Refactoring a little bit
the current code just doesn't do it in the right order.
2016-05-27 01:33:46 +05:00
Dmitry Mikheev
cdfdffd608 To respect the max interval the user has set. 2016-05-27 00:55:05 +05:00
Dmitry Mikheev
c94b6a24bd next interval >= prev interval + 1
http://ankisrs.net/docs/manual.html#reviews

One final thing to note is that Anki forces a new interval to be at least 1 day longer than it was previously so that you don’t get stuck reviewing with the same interval forever. 

https://anki.tenderapp.com/discussions/ankidesktop/18382-new-interval-does-not-seem-to-be-updated-with-ease-at-130-and-current-interval-at-7-days

In some cases interval does not grow in fact.
2016-05-27 00:26:48 +05:00
Damien Elmes
63499fb7e9 fix entsToTxt() 2016-05-15 15:43:46 +10:00
Damien Elmes
f6f9b767c0 remove loop part of templating code
str has __iter__ on python3 which breaks templates
2016-05-13 14:33:32 +10:00
Damien Elmes
15b349e3a8 start port to python 3
unit tests pass and main screens of GUI load
2016-05-12 14:45:35 +10:00
Damien Elmes
1dce3eaaff drop anki1 upgrade code 2016-05-12 14:20:59 +10:00
Damien Elmes
89a5777585 store profiles as blobs
the cPickle data may not be valid utf8, and even with
text_factory=str this seems to cause problems sometimes
2016-05-12 14:19:16 +10:00
Damien Elmes
9b2a19ee85 when schema differs, make sure we don't import cards
_ignoredGuids should have been added to but wasn't
2016-04-17 20:38:39 +10:00
Damien Elmes
269ea80a1f Merge branch 'master' of github.com:dae/anki 2016-04-10 14:20:46 +10:00
Damien Elmes
499b02281b bump version 2016-04-10 13:36:36 +10:00
rizzomichaelg
610ca050eb Adding new cloze while in filtered deck
When adding a new cloze tag while a card is in a filtered deck, anki currently adds the new card to the Default deck.  

My proposed fix checks if the card has the odid field set and then sets the did to use when generating the new cards as the odid.
2016-04-09 08:46:54 -05:00
Damien Elmes
d71ca63b4c remove stray text 2016-04-05 11:04:40 +10:00
Damien Elmes
04ada5015f bump version 2016-04-05 11:02:35 +10:00
Damien Elmes
71778fb2b2 bump version 2016-03-27 21:14:30 +10:00
Dave Shifflett
2e38174921 Cast template deck ID before checking the decks
The keys of `self.decks.decks` are unicode keys whereas `template['did']`
is an integer, so `template['did'] in self.decks.decks` always fails.
2016-02-29 21:03:48 -06:00
Damien Elmes
3bbd0bca7e zip64 support, and import/export improvements
- we now allow exports over 2gb/64k files - AnkiMobile and AnkiDroid
will need to be updated to support this
- avoid compressing media files in export, as in the common case of
jpg/mp3 it's much faster with no increase in size
- exports and imports now show # of files processed
- mw.progress.update() now limits # of updates per sec
2016-02-26 10:01:46 +10:00
Damien Elmes
5dca0cdf77 Merge pull request #117 from timrae/override
Don't use default deck when deck override set to invalid deck
2016-02-22 09:25:48 +10:00
Damien Elmes
68d5135009 Merge branch 'master' of github.com:dae/anki 2016-02-22 09:23:09 +10:00
Timothy Rae
38b36323da Don't use default deck when deck override set to invalid deck
When the override deck is not valid, the more intuitive behavior for users is to not override. Advanced users that really want to use this feature will immediately open the deck override settings and see that it's referencing an invalid deck. Advanced users and developers have all been stumped by the old behavior, it's simply not intuitive.
2016-02-16 12:26:52 +09:00
Damien Elmes
ee58e651ef work around huge perDay values set by other clients
sqlite was choking on the long values
2016-01-20 20:59:56 +10:00
Timothy Rae
6d850c95ce Don't include media files with _ unless they are referenced in model 2015-12-07 16:37:27 +09:00
Damien Elmes
2d408cfe68 Merge pull request #111 from bogdanteleaga/tags-selected-deck
Limit tags in custom study dialog to those in the selected deck
2015-11-25 10:48:29 +10:00
bogdanteleaga
1f1220cf7c Limit tags in custom study dialog to those in the selected deck 2015-11-21 14:38:21 +02:00
Damien Elmes
47940680d2 don't convert newlines into br tags in export
fixes https://anki.tenderapp.com/discussions/ankidesktop/15795-export
-error-doubling-br-tags

This code dates back a few years, and was probably a naive solution
for files breaking when exported with newlines. Ideally we should be
preserving the newlines and wrapping the field in quotes, but since
some people may be relying on exported files not to be quoted, we'll
wait to change this until the next major release. For now, we'll use
a space instead, which should not alter the appearance of the
rendered HTML.
2015-11-17 18:06:45 +10:00
Damien Elmes
0ee2354d46 bump version 2015-09-26 13:13:33 +10:00
Damien Elmes
621923d45d Merge pull request #108 from holycrepe/patch-1
Update Field Searches to match multi-line fields
2015-09-26 13:09:23 +10:00
Damien Elmes
713667d015 use python's sqlite3 if pysqlite > 2.6
users have reported errors about vacuuming in a transaction, which
appear to be due to changed handling of DDL statements
2015-09-26 11:51:32 +10:00
Avi Puchalapalli
2f74908b25 Update Field Searches to match multi-line fields
Currently, field searches are confirmed by a regex search with the single option of case-insensitive (?i), and with the beginning and ending markers ^ and $. Since multi-line is not enabled, and re.DOTALL (option s) is not enabled, the field search will fail for any field with a new line
2015-09-25 11:13:42 -04:00
Damien Elmes
c243c583d8 update latex path for osx 10.10 2015-08-31 19:33:58 +10:00
Arne Ludwig
b5f375cc24 Adjusted code for bad latex commands to pass tests 2015-07-30 12:44:58 +02:00
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