Commit graph

702 commits

Author SHA1 Message Date
Damien Elmes
ace01a21bc different cloze colour in night mode 2017-12-20 16:05:28 +10:00
Damien Elmes
435afed325 fix error when importing 2017-12-12 11:55:27 +10:00
Damien Elmes
576c2b38b2 fix mpv warnings 2017-12-11 17:26:25 +10:00
Damien Elmes
81d4b77ee1 more open() and regex strings 2017-12-11 17:25:51 +10:00
Damien Elmes
3b71f8e44e move regex flags to start of string 2017-12-11 16:42:19 +10:00
Damien Elmes
7ac601f0af fix 'unclosed file' warnings with python -Wall 2017-12-11 16:38:15 +10:00
Damien Elmes
bc65baeff7 cgi.escape is deprecated 2017-12-11 16:20:00 +10:00
Damien Elmes
774c19e83e add the ability to disable cert verification 2017-12-07 17:15:20 +10:00
Damien Elmes
39c0a57b13 work around pops in recording start
https://anki.tenderapp.com/discussions/ankidesktop/26005-when-recording-sound-on-mbp

on my machine, the pops start around sample 2048 of a 44.1khz recording,
and only for the first recording after the audio hardware has gone to
sleep
2017-12-05 11:07:52 +10:00
Damien Elmes
ea5f8eed36 bump version 2017-12-04 12:58:29 +10:00
Damien Elmes
c451141f97 play question audio when preview set to 'show both sides' 2017-12-04 12:45:22 +10:00
Damien Elmes
c67fc3e769 fix time translation patch 2017-12-04 12:33:23 +10:00
Damien Elmes
fcccf12ba6 night mode 2017-12-04 12:20:56 +10:00
Damien Elmes
84dd488d21 add catalan 2017-12-03 16:06:56 +10:00
Piotr Kubowicz
879ca0b72b Allow to better translate "in x minutes"
"There is 1 minute" and "in 1 minute" need to be translated
differently in Slavic languages.

Additionally remove unused afterTimeTable.
2017-11-30 20:03:51 +01:00
Damien Elmes
3bf7f19843 bump version 2017-11-27 11:17:42 +10:00
Damien Elmes
77bb67a555 accept current and future mnemosyne imports 2017-11-27 10:49:38 +10:00
Damien Elmes
5ee1ee0450 restore media dir mod check
https://anki.tenderapp.com/discussions/beta-testing/853-anki-210-beta-21/page/1#comment_44071381
2017-11-20 14:22:53 +10:00
Damien Elmes
44e88afed0 bump version 2017-11-17 17:35:36 +10:00
Damien Elmes
8e7ef1d1be detect image extension, catch errors, add timeout 2017-11-17 17:30:01 +10:00
Damien Elmes
0b3685193d fix crash when deleting nested default deck
https://anki.tenderapp.com/discussions/ankidesktop/25777-bug-report-syn
2017-11-14 13:13:52 +10:00
Damien Elmes
64b55f0e55 bump version 2017-11-11 12:15:38 +10:00
Damien Elmes
645f6714d2 favour most recent modified when importing template changes 2017-11-11 12:11:45 +10:00
Damien Elmes
b6972a22e8 fix stutter when multiple audio files on card on windows
setting playlist pos to 0 was causing half-played sound to restart
2017-11-10 19:52:20 +10:00
Damien Elmes
905692b2a7 bump version 2017-10-27 18:07:29 +10:00
Damien Elmes
3b7c0ff733 bump version 2017-10-26 19:57:47 +10:00
Damien Elmes
d96517710a bump version 2017-10-25 20:47:00 +10:00
Damien Elmes
554ff3d8d2 drop experimental prewrap mode
- pasting in prewrap mode had been broken for a while and nobody noticed
- needs changes to export code and cloze handling code to deal with the
newlines
- newline rewriting in filterNode() is likely fragile
- may revisit post 2.1
2017-10-25 19:18:00 +10:00
Damien Elmes
6b479fc839 don't leave a wav file lying around when recording 2017-10-25 18:35:39 +10:00
Damien Elmes
e3885fd924 fix detection of media refs in cloze
https://anki.tenderapp.com/discussions/beta-testing/796-another-check-media-issue
2017-10-18 21:56:57 +10:00
Damien Elmes
8d0eb42c01 bump version 2017-10-13 13:12:36 +10:00
Damien Elmes
ec9c2476a3 don't capture media keys 2017-10-13 13:11:22 +10:00
Damien Elmes
519187e941 probable fix for win32 startup errors; add timeout to mpv start 2017-10-13 12:14:40 +10:00
Damien Elmes
c08818119c bump version 2017-10-11 14:50:28 +10:00
Damien Elmes
17cc7d6eec bump version 2017-10-05 17:26:48 +10:00
Damien Elmes
d3233f2446 don't show album artwork 2017-10-05 14:35:58 +10:00
Damien Elmes
f9f5a3d9f6 add coding: line to mpv.py for xgettext 2017-10-02 16:41:14 +10:00
Damien Elmes
b75b4ae470 bump version 2017-10-02 16:38:20 +10:00
Damien Elmes
ca95552408 integrate _packagedCmd() into mpv for binary distrib 2017-10-02 16:37:52 +10:00
Damien Elmes
384a01e53b turn off mpv debug 2017-09-30 19:33:09 +10:00
Damien Elmes
e8b4d276b4 use named pipes for mpv on windows
currently using non-blocking mode which involves a sleep in the read
loop - overlapped i/o might be a better option in the future
2017-09-30 19:32:48 +10:00
Damien Elmes
7dc8f82906 mpv support 2017-09-30 19:29:48 +10:00
Damien Elmes
bb661a4b7d mpv.py fixes
- enable input keys for video seeking
- output debug info to stdout so it's not caught by anki's error handler
- before sending a command, check the process is still alive, and
restart if necessary - otherwise a user who closes a video window will
end up with errors
2017-09-30 19:29:48 +10:00
Damien Elmes
e7d9d1264d add mpv.py 2017-09-30 19:29:48 +10:00
Damien Elmes
d0a9a87095 fix normalization in normal import 2017-09-30 19:29:33 +10:00
Damien Elmes
b04c2212b5 stripHTML() should work when tag split over multiple lines 2017-09-30 15:33:05 +10:00
Damien Elmes
8737c6737b another fix for mathjax+cloze 2017-09-12 13:53:08 +10:00
Damien Elmes
bd414595de Merge pull request #209 from sieben/simplify_comparisons
Simplify comparisons
2017-09-11 15:01:07 +10:00
Damien Elmes
f786ad1594 Merge pull request #208 from sieben/none_comparison
Comparison with None shouldn't use equality
2017-09-11 15:01:01 +10:00
Rémy Léone
4446b85ef2 Simplify comparisons 2017-09-10 15:32:51 +02:00
Rémy Léone
8f1ad57931 Comparison with None shouldn't use equality
That type of comparisons should always be done with 'is' or 'is not',
never the equality operators.
2017-09-10 15:30:22 +02:00
Rémy Léone
9e574a448b Remove trailing semicolon 2017-09-10 14:41:38 +02:00
Damien Elmes
67728e73d7 fix broken cloze deletion 2017-09-10 19:51:25 +10:00
Damien Elmes
ce803b9f44 bump version 2017-09-10 18:54:08 +10:00
Damien Elmes
0c80b5454f use separate .colpkg extension for collection exports
- allows translations of filename
- allows users to keep multiple collection exports in the same folder
- provides a clearer distinction between deck and collection packages
- the collection/backup .apkg special cases will continue to work in
future 2.1.x releases
2017-09-10 16:58:55 +10:00
Damien Elmes
593569d0dc only strip formatting when inside mathjax 2017-09-08 19:35:34 +10:00
Damien Elmes
4990b2f8eb mathjax tweaks
- drop support for $$ in favour of separate opening and closing tags
- add shortcuts to add mathjax
- don't highlight any clozes in blue if field contains mathjax chars
2017-09-08 19:20:37 +10:00
Damien Elmes
bdcc8e284b re.escape() deck search 2017-09-08 15:13:46 +10:00
Damien Elmes
1d257c05ce 'oldest first' now uses the revlog for correct ordering 2017-09-06 13:02:52 +10:00
Damien Elmes
ca6412b6c9 don't force win32 audio output
was added in 2008 as a hack around sound problems users were having, but
it causes problems for other users and prevents overriding in the conf
file, so let's try with the default

report:
https://anki.tenderapp.com/discussions/ankidesktop/24859-poor-playback-with-mono-mp3

originally changed in c50203b9a1
2017-09-04 19:05:02 +10:00
Damien Elmes
62a1382c0d python 3 doesn't save us from misconfigured locales 2017-09-02 13:59:10 +10:00
Damien Elmes
ecb683cdd1 bump version 2017-08-31 22:00:37 +10:00
Damien Elmes
5fd9228273 handle invalid filename encodings
on Linux users can end up creating filenames that can't be encoded to utf8,
which breaks Anki when it tries to store the filename in sqlite
2017-08-31 18:55:25 +10:00
Damien Elmes
c18bd47a6e scan media each time
Experiment with ignoring dirMod and scanning the folder for changes on
each sync. Use scandir() for better performance. Please let me know if
this causes a noticeable slowdown for you.
2017-08-29 10:52:13 +10:00
Damien Elmes
25cb6d3abe bump version 2017-08-28 22:30:05 +10:00
Damien Elmes
3faa82571c warn about subfolders 2017-08-28 22:01:13 +10:00
Damien Elmes
ca37b15aa7 bump version 2017-08-26 15:25:10 +10:00
Damien Elmes
2c9f286026 update python ver dep 2017-08-25 16:39:21 +10:00
Damien Elmes
08e0174f2e remove dupeOnSchemaChange
no longer required now that anki 1.x importing dropped
2017-08-21 13:50:11 +10:00
Damien Elmes
ff2e7b9e81 typo in stats 2017-08-21 11:29:54 +10:00
Damien Elmes
3ad9261c8c catch corrupt media db, fix it in 'check media' 2017-08-17 13:33:54 +10:00
Damien Elmes
e8cc960da3 bump version 2017-08-16 21:53:21 +10:00
Damien Elmes
375c071a26 catch attempts to write outside the media folder
big thanks to David Bailey for discovering this
2017-08-16 21:08:46 +10:00
Damien Elmes
af14051637 add check to see if drag&drop caused a recent bug
user was getting errors because they had a deck starting with double
quotes
2017-08-15 15:11:59 +10:00
Damien Elmes
a353135af3 add type-in-the-answer note type 2017-08-13 19:42:27 +10:00
Damien Elmes
be1514a97b bump version 2017-08-12 17:04:53 +10:00
Damien Elmes
b7be2ad744 clear flags on export 2017-08-12 16:13:53 +10:00
Damien Elmes
71101d041a ditch marked tag in favour of card flags
Users can now mark individual cards with one of four different coloured
flags, instead of relying on a tag that applied to the whole note.

- replaced marking functionality in reviewer and browser with new
flag options
- added flag:x search
- marked and leech tags now show in normal tag list in filter screen,
instead of being treated specially
- the other clients will need updating to set and shown the flags, but
flags set in the beta should be preserved by the other clients
2017-08-12 16:08:10 +10:00
Damien Elmes
1c88315e86 bump version 2017-08-10 21:51:46 +10:00
Damien Elmes
94cf132918 make sure exporting ignores subfolders 2017-08-10 21:06:41 +10:00
Damien Elmes
82aeb57318 Revert "experiment with displaying FrontSide under answer"
This reverts commit a1b0ddb00c.
2017-08-10 15:04:24 +10:00
Damien Elmes
17693f1b63 bump version 2017-08-08 20:05:20 +10:00
Damien Elmes
d5aede7252 bump version 2017-08-07 18:39:29 +10:00
Damien Elmes
a1b0ddb00c experiment with displaying FrontSide under answer
- avoids having to move eyes to answer section
- the fade out/fade in step feels more natural when the
question section moves

feedback welcome
2017-08-07 18:38:35 +10:00
Damien Elmes
e40445a9c4 bump version 2017-08-06 15:30:41 +10:00
Damien Elmes
072489f436 fix unicode error when generating latex 2017-08-06 13:03:32 +10:00
Damien Elmes
0543a4533b add devMode flag to utils
also remove the extra toolbar call in loadProfile(), as we require a
restart to update the translations anyway
2017-08-01 14:28:13 +10:00
Damien Elmes
d2507899c2 bump version 2017-07-31 16:35:18 +10:00
Damien Elmes
96c737f24f fix translations on Mac 2017-07-31 13:59:10 +10:00
Damien Elmes
d6a7cc0a51 bump version 2017-07-28 18:38:42 +10:00
Damien Elmes
8cd20f3352 turn latex svg into a note type option
needed until the other clients support svgs
2017-07-28 18:38:31 +10:00
Damien Elmes
7ad6966943 split js code out into separate files, mathjax improvements
- js code that was previously bundled in .py files is now in the
web folder
- add helpers to create links to bundled files, and update
stdHtml() to accept a list of javascript files to include
instead of text
- render MathJax in card layout and preview screens - these should be
updated in the future to update the document dynamically like the
reviewer does
- start media server earlier so it can be used to serve content for
the toolbar, etc
- work around a bug in WebEngine on Windows that could cause the
media server to hang
2017-07-28 16:35:45 +10:00
Damien Elmes
b1959e5c83 latex fixes
- fix the missing replacement tmp.%s
- use a zoom factor of 2 by default
- look for both png and svg files before creating
2017-07-22 12:36:31 +10:00
Damien Elmes
9cda9334d3 Merge pull request #112 from sigkell/master
Output SVG instead of PNG for LaTeX
2017-07-22 11:00:13 +10:00
Damien Elmes
8a85471374 bump version 2017-07-20 12:17:59 +10:00
Damien Elmes
17bb179d06 experimental prewrap support
- add option to wrap html in implicit pre-wrap environment during
editing and review - defaults to off
- update paste filter to convert divs/Ps to newlines and non-breaking
spaces to normal ones
- catch enter key and write \n instead of creating a new div

also:

- remove extra caretToEnd() call that is no longer required
- add dd/dt/dl to allowed tags
2017-07-20 12:16:47 +10:00
Damien Elmes
9df1947e41 require decorator 2017-07-17 13:18:56 +10:00
Damien Elmes
dffab1376f Merge branch 'master' of github.com:dae/anki 2017-07-17 13:16:06 +10:00
dequis
37ba8832f8 Make hooks.wrap preserve signatures, fixes hooking some pyqt5 callbacks
It looks like pyqt5 is playing dirty and checking the number of args of
functions before calling them. When using hooks.wrap, pyqt5 thinks it
can pass any amount of arguments (because *args) and you get exceptions
like this inside the wrap function, when calling the 'old' function:

>TypeError: onFindDupes() takes 1 positional argument but 2 were given

This commit fixes it by preserving the signature of the wrapped method,
by adding an optional dependency on the "decorator" module.

Making it an optional dependency is probably not the wisest idea but
since this is a small edge case it might be smoother to start like this.

I also added functools.wraps() as a fallback, which won't help much but
is slightly more correct.

See this article for details: https://hynek.me/articles/decorators/
2017-07-16 23:25:34 -03:00
Damien Elmes
4eb3902759 bump version 2017-07-12 11:26:26 +10:00
Damien Elmes
e8777e8630 bump version 2017-07-10 15:22:47 +10:00
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