Damien Elmes
8f3df55da2
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
31ebf0473f
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
3a7fc28aa3
fix type:cloze, and remove misleading comments
2020-01-09 08:05:49 +10:00
Damien Elmes
0c6dd8cb14
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
ed7558b817
fix type answer filter
2020-01-08 20:29:15 +10:00
Damien Elmes
520275bea3
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
29acb2dd32
move filter reversal into pystache
2020-01-08 18:59:05 +10:00
Damien Elmes
b1b81a3726
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
4fe3d686a6
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
93e01850b6
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
34ac272349
show stdout/stderr when running tests
2020-01-08 15:52:51 +10:00
Damien Elmes
a47dc8da8f
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
3d9c454997
move furigana/hint filters into template2
2020-01-08 12:30:08 +10:00
Damien Elmes
edc989f308
clean up _renderQA(), and split rendering part out
2020-01-08 12:07:44 +10:00
Damien Elmes
516924957e
use 3.7 annotations
2020-01-07 18:43:20 +10:00
Damien Elmes
9232414095
bump minimum python version from 3.6 to 3.7
2020-01-07 18:34:36 +10:00
Damien Elmes
194697753d
don't need to rerun checks each time buildhash changes
2020-01-06 19:30:54 +10:00
Damien Elmes
f710d558fd
add tests and setup.py to checks; fix warnings
2020-01-06 15:27:59 +10:00
Damien Elmes
9d2e57fcbc
fix import order
2020-01-06 13:15:02 +10:00
Damien Elmes
6afb8c5056
add a partial Python implementation of the backend
2020-01-06 12:24:47 +10:00
Damien Elmes
7334d7a687
wheel deps should be checked at install time, not build time
2020-01-05 07:34:36 +10:00
Damien Elmes
1fa01bca67
don't reference missing readme in setup.py
2020-01-04 12:21:58 +10:00
Damien Elmes
39f2ca54e8
quieten wheel build
2020-01-04 12:21:58 +10:00
Damien Elmes
c88694333b
update readme, remove submodule readmes
2020-01-04 12:21:58 +10:00
Damien Elmes
351699268a
move top level scripts into makefile
2020-01-04 12:21:58 +10:00
Damien Elmes
ad3769f3c2
add default value to ServerData
2020-01-04 07:53:20 +10:00
Erez Volk
bf6672d7e8
Merge remote-tracking branch 'upstream/master' into add-tags-on-update
2020-01-03 08:13:04 +02:00
Damien Elmes
515e081d8b
formatting fix
2020-01-03 15:21:36 +10:00
Damien Elmes
a113887d56
add buildhash to rspy and aqt, and check all three modules match
2020-01-03 15:15:18 +10:00
Damien Elmes
5eee63ca6d
use proper version number in build outputs
2020-01-03 14:36:14 +10:00
Damien Elmes
7efccd69f8
output into dist/
2020-01-03 14:32:26 +10:00
Damien Elmes
5c91987218
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
152637caae
fix invalid escape warning
2020-01-03 13:38:23 +10:00
Damien Elmes
3dc53deece
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
b3b95713e6
report slowest test
2020-01-03 09:03:39 +10:00
Damien Elmes
df2cc2fb02
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
648e51b60d
don't reformat buildhash
2020-01-03 08:25:12 +10:00
Damien Elmes
2a00e0a6b0
tweaking the folder names again
...
hopefully that's the last of it
2020-01-03 07:48:38 +10:00