Damien Elmes
e16d6055c1
fix Deck field in card templates showing filtered deck
...
https://anki.tenderapp.com/discussions/ankidesktop/38984-deck-changed
2020-02-19 20:00:06 +10:00
Arthur Milchior
bdf10d9649
method shouldBeDisplayed
2020-02-19 01:56:33 -08:00
Damien Elmes
ef7b0b1e82
don't error when fuzz is 0
...
https://anki.tenderapp.com/discussions/ankidesktop/38956-bug-report-sched2-anki2120
2020-02-18 11:00:26 +10:00
Damien Elmes
0309113b0a
fix legacy filter return values being ignored
2020-02-18 09:12:16 +10:00
Damien Elmes
1524e7dcac
split "Due" into three different contexts for translators
2020-02-17 14:41:01 +10:00
Damien Elmes
d612aa0945
localize some error messages
2020-02-17 11:38:22 +10:00
Damien Elmes
6e3f1d2e26
Revert "test out the Python Fluent implementation"
...
This reverts commit 181c17a0988cf9e57b2604746000c6072cb96206.
Reverting this to keep as a record.
2020-02-17 08:40:17 +10:00
Damien Elmes
8abb35372a
test out the Python Fluent implementation
...
The parsing step is considerably slower in Python, but if parsing
is moved out of the test function, Python wins at 45ms to Rust's 67ms
on 10,000 rounds, presumably due to the overhead of serializing to
Protobuf. Not enough of a difference to justify the inclusion of extra
dependencies and duplicating the lookup code in any case.
2020-02-17 08:40:17 +10:00
Damien Elmes
c395003def
expose translations to Python
2020-02-17 08:40:17 +10:00
Damien Elmes
f6a881f950
pass progress back as translated string(s)
2020-02-17 08:40:17 +10:00
Damien Elmes
d1e587fca9
add ftl to the build process, and a sync-git script
...
also
- ensure po files are checked when updated
- add start of sync.ftl
2020-02-17 08:40:17 +10:00
Damien Elmes
6c9e9eb330
drop unused threadLocal and noHint i18n code
2020-02-17 08:40:17 +10:00
Damien Elmes
97b9b94fc7
use new file locations for translations
...
- translation files are now stored in a separate repo, and
use a layout compatible with Pontoon
- normalize the language code in aqt, so that old config settings
and command line arguments are correctly handled
- store Qt and gettext translations in separate subfolders
- remove Crowdin scripts
2020-02-17 08:40:17 +10:00
Damien Elmes
f6ddcd81df
fix sync deauth
2020-02-17 08:40:17 +10:00
Damien Elmes
7d68da2b57
pass locale details to backend
2020-02-17 08:40:17 +10:00
Damien Elmes
fe874e9909
fix Lojban selection
2020-02-17 08:40:17 +10:00
Damien Elmes
0cc1938657
move empty card check into template code
2020-02-17 08:40:17 +10:00
Damien Elmes
33367c8edf
make template errors translatable
2020-02-17 08:40:17 +10:00
Damien Elmes
6240bd613d
update media DB when adding LaTeX images
2020-02-17 08:40:17 +10:00
Damien Elmes
d73fec3280
shorten add_file_to_media_folder
2020-02-17 08:40:17 +10:00
Damien Elmes
4c0f216df2
use media.trash for unused media deletion as well
2020-02-17 08:40:17 +10:00
Damien Elmes
0c27126817
fix latex render progress; display more frequently
2020-02-17 08:40:17 +10:00
Damien Elmes
2d0499580f
if latex fails to render in bulk, show the user the problem
2020-02-17 08:40:17 +10:00
Damien Elmes
9df2a08cb0
new render_all_latex() + gui button; remove some old code
2020-02-17 08:40:17 +10:00
Damien Elmes
7f365faf3f
add extract_latex to backend; use it for latex build
2020-02-17 08:40:17 +10:00
Damien Elmes
79c1732b00
stripLatex() does not appear to be used anywhere
2020-02-17 08:40:17 +10:00
Damien Elmes
6f158c8555
plug new media check in
2020-02-17 08:40:17 +10:00
Damien Elmes
aa832e9117
backend stores media folder/db locations; don't need to pass them in
2020-02-17 08:40:17 +10:00
Damien Elmes
5fe1bfc5b4
simplify code by accumulating stats at the source
2020-02-17 08:40:17 +10:00
Damien Elmes
6a64c8dfcc
use enums for some common errors
2020-02-17 08:40:16 +10:00
Damien Elmes
347ac80086
remove unused code
2020-02-17 08:40:16 +10:00
Damien Elmes
ea4de9a6de
connect media sync progress to Python, add a progress dialog
2020-02-17 08:40:16 +10:00
Damien Elmes
00f431d94e
use separate fn to init backend, for future pyo3 0.9 release compat
2020-02-17 08:40:16 +10:00
Damien Elmes
01470c4854
backend init can now fail, and update media db when file is added
...
- Adding files inside Anki now updates the media DB, so a full file
scan at sync time is no longer required if no other changes have been
made.
- Use a protobuf message for backend initialization, and return a
string error if initialization fails.
2020-02-17 08:40:16 +10:00
Damien Elmes
d94a86930f
drop support for vfat
2020-02-17 08:40:16 +10:00
Damien Elmes
e5f2e0df92
drop support for the early 2.0 release media db format
2020-02-17 08:40:16 +10:00
Damien Elmes
78f20d05a9
drop the clean* funcs
2020-02-17 08:40:16 +10:00
Damien Elmes
4096d21c07
add add_file() and write_data()
2020-02-17 08:40:16 +10:00
Arthur Milchior
fcfa78bba3
Hook card_is_being_flushed
...
It often arrives that I want to know when a card is going to be
flushed and in this case change it.
This could be the case if I want to change the scheduler without
implementing a whole scheduler. It simply reads the card history and
change interval and due date.
It's also the case for the "'trigger -> action' rules", which apply
some coded actions when some event occurs. E.g. suspend/unsuspend a
sibling when card become mature/is forgotten.
2020-02-14 00:59:32 -08:00
Arthur Milchior
81daad878e
Factorizing card's flush
2020-02-14 00:59:32 -08:00
Arthur Milchior
b2ef003207
hook note_is_being_flushed
...
I created multiple add-ons which want to transform a note before it is
being saved. For example, one add-on trim it, and remove useless line
break which arrived by accident.
Another add-on want to compile LaTeX as soon as the note is done, and
warn the user if LaTeX can't be compiled.
Having a hook in pre-flush would be useful here
2020-02-14 00:57:27 -08:00
Damien Elmes
f7ebb8c28f
Merge pull request #433 from Arthur-Milchior/ints
...
Constants
2020-02-14 08:37:31 +10:00
Damien Elmes
36201a5448
remove redundant declaration
2020-02-12 08:06:35 +10:00
Arthur Milchior
b5fed631d5
deckIds return deck of selected cards
2020-02-11 10:50:59 -08:00
Arthur Milchior
e70a317ac5
ofCids: returns did of all cids
2020-02-11 10:50:59 -08:00
Arthur Milchior
d48111af68
inverse if/else in deckIds
2020-02-11 10:50:59 -08:00
Arthur Milchior
c02ff8593a
cardIds return cids if it is set
2020-02-11 10:50:59 -08:00
Arthur Milchior
9fdc885d82
anki.exporter takes extra argument cids
2020-02-11 10:50:58 -08:00
Arthur Milchior
d8669835d8
aqt.exporter takes extra argument cid
2020-02-11 10:49:13 -08:00
Damien Elmes
ed4731127d
pylint fix
2020-02-08 15:49:41 +10:00
Damien Elmes
c42619efeb
formatting
2020-02-08 15:48:42 +10:00
Damien Elmes
bd96c27096
show which side the template error occurred on
2020-02-08 11:54:08 +10:00
Damien Elmes
58c643d5bf
fix rendering of question/answer column in browse screen
2020-02-08 09:29:34 +10:00
Arthur Milchior
fc5c1fd16a
correct missing french translation
2020-02-05 20:48:30 -08:00
Arthur Milchior
961c741f66
remove "typing.FOO" and import foo
...
According to grep, they were the only two instances
2020-02-04 08:49:53 -08:00
Arthur Milchior
35c8f21eb6
Reformatting through black
2020-02-04 08:47:36 -08:00
Arthur Milchior
957f0c8e8b
QUEUE and TYPE day learn, relearn
2020-02-04 08:47:36 -08:00
Arthur Milchior
7b7b71c0e1
QUEUE_TYPE_PREVIEW
2020-02-04 08:47:36 -08:00
Arthur Milchior
45bf763238
QUEUE_TYPE_REV and CARD_TYPE_REV
2020-02-04 08:47:36 -08:00
Arthur Milchior
7d4506afdb
QUEUE_TYPE_SUSPENDED
2020-02-04 08:47:36 -08:00
Arthur Milchior
9fc3f17f5c
QUEUE_TYPE_SIBLING_BURIED
2020-02-04 08:47:36 -08:00
Arthur Milchior
4a21911d74
QUEUE_USER_BURIED
2020-02-04 08:47:36 -08:00
Arthur Milchior
69436643fe
CARD_TYPE_LRN and QUEUE_TYPE_LRN
2020-02-04 08:47:35 -08:00
Damien Elmes
9cd5df4529
Merge pull request #434 from Arthur-Milchior/didInExport
...
anki.exporting.AnkiExporter.deckIds
2020-02-04 16:59:39 +10:00
Arthur Milchior
a1cc0787d2
QUEUE_TYPE_NEW and CARD_TYPE_NEW
2020-02-03 02:24:37 -08:00
Arthur Milchior
cd86fee03f
Card and queue type
2020-02-03 02:24:37 -08:00
Arthur Milchior
871de0f543
PERIOD_LIFE
2020-02-03 02:24:37 -08:00
Arthur Milchior
c6013c40c5
PERIOD_YEAR
2020-02-03 02:24:37 -08:00
Arthur Milchior
3fa0a07e2e
PERIOD_MONTH
2020-02-03 02:24:37 -08:00
Arthur Milchior
600c70edcb
REVLOG_CRAM
2020-02-03 02:24:37 -08:00
Arthur Milchior
e1a283b168
REVLOG_RELRN
2020-02-03 02:24:37 -08:00
Arthur Milchior
dd5d73f3a3
REVLOG_REV
2020-02-03 02:24:37 -08:00
Arthur Milchior
dca1cd03d1
REVLOG_LRN
2020-02-03 02:24:37 -08:00
Arthur Milchior
dd258ca62c
Add revlog constants
2020-02-03 02:24:37 -08:00
Arthur Milchior
4d088e14c7
BUTTON_FOUR
2020-02-03 02:24:37 -08:00
Arthur Milchior
e4022eeb47
BUTTON_THREE
2020-02-03 02:24:37 -08:00
Arthur Milchior
4fb0a48962
BUTTON_TWO
2020-02-03 02:24:37 -08:00
Arthur Milchior
5104cac97f
BUTTON_ONE
2020-02-03 02:24:37 -08:00
Arthur Milchior
be148ce8a1
Adding constants for buttons
...
The point being that, when we read BUTTON_ONE, we know that the type
of the element is: a button
2020-02-03 02:24:37 -08:00
Arthur Milchior
8264be1964
LEECH_TAGONLY
2020-02-03 02:24:37 -08:00
Arthur Milchior
dadf9042f7
LEECH_SUSPEND
2020-02-03 02:24:37 -08:00
Arthur Milchior
72f8ae7b33
Add leech constants
2020-02-03 02:24:37 -08:00
Arthur Milchior
8eaed49fd4
ADD_MODE
2020-02-03 02:24:37 -08:00
Arthur Milchior
cb7429c433
IGNORE_MODE
2020-02-03 02:24:37 -08:00
Arthur Milchior
a2eea7a1bb
UPDATE_MODE
2020-02-03 02:24:37 -08:00
Arthur Milchior
957dc51fca
DECK_DYN
2020-02-03 02:24:37 -08:00
Arthur Milchior
98e55e26bc
use DECK_STD
2020-02-03 02:24:37 -08:00
Arthur Milchior
a473908dca
Adding constants for decks' type
2020-02-03 02:24:37 -08:00
Arthur Milchior
14cfe57b74
anki.exporting.AnkiExporter.deckIds
...
This change would help me simplify the code of
https://ankiweb.net/shared/info/1983204951
It would allow my exporter to use the code of AnkiExporter while
selecting which decks I export, instead of exporting all decks as I
was doing until today. (I never realized I was exporting all deck
actually, until someone sent me a bug report)
2020-02-03 01:36:27 -08:00
Damien Elmes
fe493e31c4
ugly fix for suspended cards being unsuspended when filtered deck emptied
...
https://anki.tenderapp.com/discussions/ankidesktop/38247-bug-suspended-cards-automatically-included-in-the-filtered-decks
2020-02-03 08:10:20 +10:00
Damien Elmes
8752b050ce
add schedv2_did_answer_review_card hook
2020-01-31 07:30:13 +10:00
Damien Elmes
4da89eb38e
better help link for blank cards
2020-01-28 07:53:55 +10:00
Damien Elmes
c075191697
reuse reveal_cloze_text() for LaTeX cloze expansion
2020-01-28 07:40:44 +10:00
Damien Elmes
21cbb5a766
support speed control in tts tags
2020-01-26 14:31:07 +10:00
Damien Elmes
f6ef553ba5
move strip_av_refs() into anki.sound
2020-01-24 15:48:40 +10:00
Damien Elmes
f900f24f60
more changes to the template code
...
- _renderQA() has moved to template.py:render_card()
- dropped QAData in favour of a properly typed dict
- render_card() returns a TemplateRenderOutput struct instead of a dict
- card_did_render now takes that output as the first arg, and can
mutate it
- TemplateRenderContext now stores the original card, so it can return
a card even in the add screen case
The old mungeFields and mungeQA hook have been removed as part of this
change. mungeQA can be replaced with the card_did_render hook.
In the mungeFields case, please switch to using field_filter instead.
2020-01-24 13:44:13 +10:00
Damien Elmes
836213e587
renderQA() wasn't used in the codebase
2020-01-24 11:09:38 +10:00
Damien Elmes
17ebdfc099
extract and flag AV tags as part of the render process
...
We can now show replay buttons for the audio contained in {{FrontSide}}
without having to play it again when the answer is shown.
The template code now always defers FrontSide rendering, as it wasn't
a big saving, and meant the logic had to be implemented twice.
2020-01-24 11:06:11 +10:00
Damien Elmes
406c58a109
inject legacy funcs referencing aqt in GUI load
2020-01-23 18:20:19 +10:00
Damien Elmes
7bb7d5391b
fix lint
2020-01-23 18:12:57 +10:00