Damien Elmes
3f724e5c98
replace fields and apply standard filters in rslib
...
The filters still need to be implemented.
2020-01-10 18:02:26 +10:00
Damien Elmes
f7ff0d1c17
flatten->render; pass field content in
...
This is paving the way to move the standard filters into Rust.
Non-empty fields are now determined in Rust, using a single regex
instead of the overkill stripHTMLMedia(). The old implementation
has been moved into the Pystache code for now.
2020-01-10 14:59:29 +10:00
Damien Elmes
a5613523ee
rework new timezone code
...
We now store the UTC offset that was in effect at creation time,
and use that to determine the starting date.
2020-01-09 16:58:27 +10:00
Damien Elmes
5a9af48178
fix type:cloze, and remove misleading comments
2020-01-09 08:05:49 +10:00
Damien Elmes
02720ec604
fix CI failing
...
unsure why this doesn't fail locally, using the same mypy version
2020-01-08 20:49:40 +10:00
Damien Elmes
c0a69587f3
fix type answer filter
2020-01-08 20:29:15 +10:00
Damien Elmes
0087eee6d9
handle conditional replacement in Rust
...
This extends the existing Rust code to handle conditional
replacement. The replacement of field names and filters to text
remains in Python, so that add-ons can still define their own
field modifiers.
The code is currently running the old Pystache rendering and the
new implementation in parallel, and will print a message to the
console if they don't match. If you notice any problems, please
let me know.
2020-01-08 20:28:04 +10:00
Damien Elmes
031c4e814f
move filter reversal into pystache
2020-01-08 18:59:05 +10:00
Damien Elmes
b014822253
use hooks for the built in filters as well
...
To support cloze deletions, we add back support for 'extra', but
using a simpler one character split instead of parens.
2020-01-08 18:08:24 +10:00
Damien Elmes
1f2e00690f
move the rest of Anki's code out of pystache
...
In the process of factoring out the field filtering, the "extra"
and "fullname" args are just passed in as a blank string now.
Extra was functionality that allowed a field modifier to be defined
as "filtername(arg1,arg2):field", and fullname was the name of the
field including any provided field modifiers. From grepping through
the add-ons on AnkiWeb, neither appears to have been used.
2020-01-08 17:15:46 +10:00
Damien Elmes
5ce964e91d
remove cloze handling in conditionals
...
As far as I can tell, this was not functional, as "{{#cloze:Text}}"
becomes cq-1:Text, which doesn't match the regex
2020-01-08 16:10:19 +10:00
Damien Elmes
83f0e15213
show stdout/stderr when running tests
2020-01-08 15:52:51 +10:00
Damien Elmes
29e476f482
no longer try fields with : in their names
...
it's not supported by the card generation code, and the card
layout screen will automatically fix note types
2020-01-08 14:42:54 +10:00
Damien Elmes
706ed225ca
move furigana/hint filters into template2
2020-01-08 12:30:08 +10:00
Damien Elmes
4bca26161b
clean up _renderQA(), and split rendering part out
2020-01-08 12:07:44 +10:00
Damien Elmes
e7ea121196
use 3.7 annotations
2020-01-07 18:43:20 +10:00
Damien Elmes
8b94d69abc
bump minimum python version from 3.6 to 3.7
2020-01-07 18:34:36 +10:00
Damien Elmes
844e90fc80
don't need to rerun checks each time buildhash changes
2020-01-06 19:30:54 +10:00
Damien Elmes
947d35dfca
add tests and setup.py to checks; fix warnings
2020-01-06 15:27:59 +10:00
Damien Elmes
fad2a66bc0
fix import order
2020-01-06 13:15:02 +10:00
Damien Elmes
99141d9dfb
add a partial Python implementation of the backend
2020-01-06 12:24:47 +10:00
Damien Elmes
88e83ddae5
wheel deps should be checked at install time, not build time
2020-01-05 07:34:36 +10:00
Damien Elmes
f8df688648
don't reference missing readme in setup.py
2020-01-04 12:21:58 +10:00
Damien Elmes
1dd1acdffe
quieten wheel build
2020-01-04 12:21:58 +10:00
Damien Elmes
0bfc90f52f
update readme, remove submodule readmes
2020-01-04 12:21:58 +10:00
Damien Elmes
1c1fbde733
move top level scripts into makefile
2020-01-04 12:21:58 +10:00
Damien Elmes
06f219ce33
add default value to ServerData
2020-01-04 07:53:20 +10:00
Erez Volk
e481cce816
Merge remote-tracking branch 'upstream/master' into add-tags-on-update
2020-01-03 08:13:04 +02:00
Damien Elmes
a898f61ddd
formatting fix
2020-01-03 15:21:36 +10:00
Damien Elmes
0aa01605d7
add buildhash to rspy and aqt, and check all three modules match
2020-01-03 15:15:18 +10:00
Damien Elmes
c25e106f88
use proper version number in build outputs
2020-01-03 14:36:14 +10:00
Damien Elmes
e2ede3af0e
output into dist/
2020-01-03 14:32:26 +10:00
Damien Elmes
253d429a8b
drop 'extra' from default cloze note type
...
Too many users get confused about where they should be placing the
cloze deletions.
2020-01-03 13:40:50 +10:00
Damien Elmes
ab6247f8d9
fix invalid escape warning
2020-01-03 13:38:23 +10:00
Damien Elmes
0f4f3ab2c1
speed up two tests
...
the regular test run is now faster than the old parallel one was
2020-01-03 09:05:04 +10:00
Damien Elmes
9abeeac73a
report slowest test
2020-01-03 09:03:39 +10:00
Damien Elmes
1070c866f3
switch from nose2 to pytest
...
pytest will show what differs in simple assert statements
concurrent mode is supported with a plugin, but like nose2, concurrent
mode hides the cause of import errors, so I've left it off for now.
2020-01-03 08:52:10 +10:00
Damien Elmes
c9da813622
don't reformat buildhash
2020-01-03 08:25:12 +10:00
Damien Elmes
5876866565
tweaking the folder names again
...
hopefully that's the last of it
2020-01-03 07:48:38 +10:00