Damien Elmes
36ed23e103
fix python version check
2017-07-05 12:28:03 +10:00
Damien Elmes
c392418ba7
bump version
2017-07-05 10:54:27 +10:00
Damien Elmes
4967275973
bump version
2017-06-22 18:09:48 +10:00
Damien Elmes
0abff36cfa
bump version
2017-06-07 13:31:16 +10:00
Luke Williams
9e375f1c7b
Fix issue where null tag list crashes Mnemosyne import
2017-05-30 17:38:39 -04:00
Damien Elmes
7f7b8fc52f
make sure we don't use inherited ld_library_path when calling mplayer
2017-05-22 15:40:04 +10:00
Damien Elmes
1dd17e9f3a
when reviews have incorrect due date, make them due today
...
https://anki.tenderapp.com/discussions/ankidesktop/19394-strange-behavior-with-year-long-intervals#comment_42510830
2017-05-09 12:27:23 +10:00
Damien Elmes
a98c20a22f
bump version
2017-04-13 10:53:05 +10:00
Damien Elmes
aa89d06304
Revert "don't rely on cwd in media.py"
...
This reverts commit 975ca90225 .
reverting for now as it breaks showing of images during review
2017-04-11 12:50:33 +10:00
Damien Elmes
17d68cc957
use a clearer name for fmtQA()
2017-03-14 15:48:40 +09:00
Damien Elmes
ef0a28f294
Merge pull request #179 from henrikh/fmtQA
...
Unify inline card formatting
2017-03-14 15:39:19 +09:00
Henrik Enggaard Hansen
1dfc4466f1
Move card formatting to anki.utils
2017-03-13 15:52:02 +01:00
Joel Kitching
975ca90225
don't rely on cwd in media.py
...
media.py sets CWD to the media directory of the collection
(collection.media), and relies on that directory being
maintained as CWD throughout execution. The original CWD
is restored in the close() function.
Remove reliance on CWD being set and maintained throughout
execution of media.py. Improves portability and usability
in different codebases.
2017-03-07 15:55:40 +08:00
Damien Elmes
4693e71104
bump version
2017-03-05 19:49:24 +10:00
luoliyan
491b8ea63f
Allow special characters to be escaped
2017-02-28 08:10:43 +09:30
Damien Elmes
9f37cddfda
Merge pull request #169 from luoliyan/regex-tag-removal
...
Allow wildcard tag deletion
2017-02-22 20:51:23 +10:00
luoliyan
5b43222f52
Remove unneeded condition
2017-02-22 19:31:31 +09:30
luoliyan
dee0fe2880
Escape unsupported regex chars
2017-02-22 18:24:03 +09:30
Damien Elmes
2d96d59512
bump version
2017-02-22 18:36:53 +10:00
Damien Elmes
7aa8499850
Merge pull request #168 from luoliyan/dont-register-nonexistent-tags
...
Don't register non-existent tags
2017-02-22 18:27:21 +10:00
luoliyan
2d40baa95f
Don't register non-existent tags
2017-02-21 17:37:01 +09:30
luoliyan
12c98a21f0
Allow wildcard tag deletion
2017-02-21 17:27:50 +09:30
Damien Elmes
6335dcb90e
canonicalize to NFC form on edit/import
2017-02-19 12:49:52 +10:00
Damien Elmes
4430785122
fix error when closing collection on python 3.6
2017-02-08 19:41:44 +10:00
Damien Elmes
506f999581
Merge branch 'master' of github.com:dae/anki
2017-02-08 17:28:30 +10:00
Damien Elmes
227ca090db
use a constant for the starting factor
2017-02-08 17:28:12 +10:00
Illia Volochii
13b7e01044
Stop inheriting from object
...
It is not needed in Python 3.
2017-02-07 00:21:33 +02:00
Damien Elmes
2fc47773b6
show error on invalid search
2017-02-02 21:00:58 +10:00
Damien Elmes
affede8079
bump version
2017-01-29 15:38:18 +10:00
Damien Elmes
04bc1a7766
use sync.ankiweb.net for syncing
...
media sync goes through the same domain now, avoiding a slow extra
SSL handshake
2017-01-29 14:57:59 +10:00
Damien Elmes
820f87ff0f
bump version
2017-01-20 16:07:54 +10:00
Damien Elmes
4380705992
add timeout to sync steps
2017-01-17 15:53:17 +10:00
dequis
9c902aec18
Turn "vacuum analyze" into two commands (fix for sqlite 3.15)
...
Before sqlite 3.15, the parameter to vacuum was ignored. Since sqlite
3.15, it became a database name parameter. The "vacuum analyze" syntax
was never supported by sqlite, seems to be just a psql thing.
The error for this is "OperationalError: unknown database analyze", and
happens when doing a media sync.
2017-01-15 13:25:21 -03:00
Damien Elmes
b5a8973791
bump version
2017-01-13 22:36:09 +10:00
Damien Elmes
ed07a147f9
support for saving stats to a pdf
2017-01-13 17:36:26 +10:00
Damien Elmes
e6adc3c195
fixes for sqlite on python 3.6
...
we need to switch to autocommit mode before executing vacuums &
certain pragmas
also removed the pysqlite version workaround; we just use the
python-provided versions in all cases now as it is new enough
2017-01-13 17:00:03 +10:00
Damien Elmes
a05ebdbefb
do GC on autosave
...
- ensures we're not called as part of the db progress callback
- minimises the chance of data loss if a gc causes a crash
2017-01-13 16:20:39 +10:00
Damien Elmes
f238bc772e
fix audio on mac
2017-01-09 12:52:52 +10:00
Damien Elmes
c653e39dbe
bump version
2017-01-08 21:20:45 +10:00
Damien Elmes
f104044a09
adjust user agent name
2017-01-08 19:57:04 +10:00
Damien Elmes
f6245cdfd1
use requests for http; add progress info back
...
- wrap request in AnkiRequestsClient so we can keep track of
upload/download bytes without having to monkey patch anything
- force a 64kB buffer size instead of the default 8kB
- show one decimal point in up/down so small requests still give
visual feedback
- update add-on downloading and update check to use requests
- remove the update throttling in aqt/sync.py, as it's not really
necessary anymore
2017-01-08 19:06:32 +10:00
Damien Elmes
e8423f0874
fix a bug that caused media data not to be uploaded
2017-01-02 20:53:15 +10:00
Damien Elmes
03b2ad37d9
add (currently unused) abort command
2016-12-25 12:54:47 +10:00
Damien Elmes
4fbe091c3b
don't reload data on close
2016-12-24 15:33:46 +10:00
Damien Elmes
d181133ac0
some sync fixes
...
- fix an extra \r\n being included at the end of the last form var
- req()s in the middle of a sync should throw an exception if they
receive a 403, as the calling code does not check for an empty return
2016-12-21 10:42:13 +10:00
Damien Elmes
7e34dc47dd
bump version
2016-12-17 13:51:00 +10:00
Damien Elmes
f9385572df
fix audio not stopping or overlapping
...
make sure we always send bytes
2016-12-17 13:47:07 +10:00
Damien Elmes
98485621b6
bump version
2016-12-15 21:14:55 +10:00
Damien Elmes
27c23c01d6
some html regexps should be case insensitive
2016-10-24 19:42:03 +10:00
Damien Elmes
2b8d2c9d74
Merge pull request #139 from Self-Perfection/compress_exported_svg_files
...
Restore compression of SVG files on export
2016-09-05 18:57:09 +10:00
Damien Elmes
5cea6b8a7a
Merge branch 'master' of github.com:dae/anki
2016-09-05 18:34:29 +10:00
Christoph Mack
079d551782
Add missing boundary at end of multipart/form-data request body for requests that include no application/octet-stream data
...
This makes the sync request sent to the /download endpoint valid multipart/form-data according to RFC 2046, 5.1
2016-09-03 14:15:09 +02:00
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