Damien Elmes
4070f4eef8
schedtest changes, squashed from local branch
2018-01-14 12:16:53 +10:00
Carl Hofmeister
baee6916e7
Fix string decode error when importing csv files
2017-12-31 14:01:47 -06:00
Damien Elmes
bf95b3f671
bump version
2017-12-24 22:27:09 +10:00
aakatov
6c61dc180b
fix play sound with HTML special symbols in its filename
2017-12-23 12:36:26 +03:00
Damien Elmes
ef323e2d35
bump version
2017-12-22 21:48:13 +10:00
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