Damien Elmes
a34e5b3246
update contrib to reflect the naming tweaks
2020-01-15 17:51:42 +10:00
Damien Elmes
b09e7e8247
more tweaks for readability/consistency
2020-01-15 17:45:35 +10:00
Damien Elmes
237c0791f8
more hook tweaks, and merge the pre-render field and template hooks
2020-01-15 17:18:11 +10:00
Damien Elmes
cab572b63c
remove _hook/_filter suffix
2020-01-15 16:53:24 +10:00
Damien Elmes
b2f756f1b7
tweak the hook names in anki/
...
still a work in progress
2020-01-15 16:43:22 +10:00
Damien Elmes
eb6723a2ee
fix stdmodels type hint
2020-01-15 15:30:40 +10:00
Damien Elmes
c3775e572d
fix file path in comment
2020-01-15 15:29:23 +10:00
Damien Elmes
fbd7d966ea
update contrib file
2020-01-15 14:26:50 +10:00
Damien Elmes
72c06a4aef
bump version
...
.19 will be another bugfix release
2020-01-15 13:50:26 +10:00
Damien Elmes
89fce1f6b7
migrate addHook/remHook calls
2020-01-15 13:49:26 +10:00
Damien Elmes
26cb9851b4
idempotent hook removal
...
This matches remHook()'s behaviour
2020-01-15 13:16:43 +10:00
Damien Elmes
97bd86e0ad
tidy hooks, add reviewCleanup
2020-01-15 13:03:11 +10:00
Damien Elmes
660685375f
migrate most of the remaining runHook() calls
2020-01-15 12:46:53 +10:00
Damien Elmes
67a3223623
remove unused function
2020-01-15 12:17:29 +10:00
Damien Elmes
84c17e1f02
add more hooks, tweak wording for consistency
2020-01-15 12:16:54 +10:00
Damien Elmes
f021d616dd
add optional docstring to hooks
2020-01-15 12:14:32 +10:00
Damien Elmes
dbca596b41
clean stale build folders before build
...
setuptools will bundle up files from that folder even if they're
no longer in the source tree.
2020-01-15 10:07:39 +10:00
Damien Elmes
c67aefa3ea
move hook gen code out of anki/
...
It's not needed at runtime, and this allows hooks to be updated
even when the code is broken.
2020-01-15 09:11:20 +10:00
Damien Elmes
cb14963066
add _ prefix to generated classes to improve code completion
2020-01-15 08:58:27 +10:00
Damien Elmes
2fa662f7ae
add some more hooks; stringify fully qualified types
...
To avoid circular imports, types that contain a '.' are automatically
converted to strings.
2020-01-15 08:56:56 +10:00
Damien Elmes
2921037c7b
remove some comments that are no longer relevant
2020-01-14 20:45:18 +10:00
Damien Elmes
c9cf6316bd
bump version
2020-01-14 17:28:55 +10:00
Damien Elmes
d962c0d8cb
if profile is corrupt and is reset, need to set default lang again
...
Fixes https://anki.tenderapp.com/discussions/ankidesktop/37994-traceback-error-with-windows-64bit-standard-installation
2020-01-14 15:18:07 +10:00
Damien Elmes
1824ca1b5d
fix startup when prefs.db not readable
...
If we fail to open the Anki 2.0 prefs.db file, on the second try
we need to revert to a new file instead of trying the same broken
file again.
2020-01-14 14:59:46 +10:00
Damien Elmes
ba670c4be1
if pm.meta() fails, need to unset pm
...
This prevents a startup failure caused by trying to set
the UI scale when .meta() is not working. Startup still
fails, but the correct message is displayed now.
2020-01-14 14:57:24 +10:00
Damien Elmes
2fb5ff5d9c
fix broken answer displaying
2020-01-14 09:00:52 +10:00
Damien Elmes
662eb53e6a
switch to classes for hooks
...
This allows us to add a docstring to .append() so users can see
the names of the arguments that are being passed, and means we
don't have to remember to prepend run_ when calling a hook.
2020-01-14 08:54:07 +10:00
Damien Elmes
9d84f8fb70
fix overlapping clozes
2020-01-14 07:07:21 +10:00
Damien Elmes
33bf4c204b
add hook to modify template prior to rendering
2020-01-13 21:57:15 +10:00
Damien Elmes
e98327f10d
request type hints in new contributions
2020-01-13 21:39:57 +10:00
Damien Elmes
8946ad5483
include py.typed for mypy
...
these builds are now available on
https://github.com/ankitects/anki-typecheck
The add-on docs will be updated shortly to provide info on
using the new hooks and type checking.
2020-01-13 21:18:03 +10:00
Damien Elmes
125d6f9d1d
add license to wheels and option to skip bundling extra files
2020-01-13 20:04:23 +10:00
Damien Elmes
d266dcd076
add a flag to handle the legacy hook missing args case
...
And update a few more hooks.
2020-01-13 18:37:08 +10:00
Damien Elmes
b86ae31907
update the rest of the anki/ hooks/filters
2020-01-13 17:59:52 +10:00
Damien Elmes
f379167648
run black on generated hooks
2020-01-13 17:55:58 +10:00
Damien Elmes
402a594c7b
buildinfo required to generate hooks
2020-01-13 14:55:32 +10:00
Damien Elmes
4bb3d7a958
add separate file for gui hooks
2020-01-13 14:38:05 +10:00
Damien Elmes
d92e27ab50
stray space
2020-01-13 13:58:35 +10:00
Damien Elmes
dd61389319
New type-safe approach to hooks/filters
...
Still todo:
- Add separate module for GUI hooks
- Update the remaining runHook/runFilter() calls
- Document the changes, including defensive registration
2020-01-13 13:57:51 +10:00
Damien Elmes
b42912e639
mark anki and aqt modules as having typing info
...
This means once they're installed via develop or a wheel, add-ons
will be able to more easily typecheck their code against the Anki
code.
2020-01-13 13:03:37 +10:00
Damien Elmes
9bb0348fdd
more template rendering tweaks
...
- The front and back are rendered in one call now. If the front
side contains no custom filters, we can bake {{FrontSide}} into the
rear side. If it did contain custom filters, we return the partially
complete rear template instead, and the calling code can inject
the FrontSide in after it has been fully rendered.
- Instead of modifying "cloze" into something like "cq-2", the card
ordinal and whether we're rendering the question or answer are now
passed in to the rendering filters as context.
- The Rust code doesn't need to support filter names split on '-'
anymore.
- Drop the "Show" part of hint descriptions so i18n support can be
deferred.
- Ignore blank filter names caused by user using two colons instead
of one.
- Fixed hint field and text transposition.
2020-01-12 21:34:07 +10:00
Damien Elmes
be70997e5a
update version
2020-01-12 15:10:27 +10:00
Damien Elmes
84d22046d4
fix type:cloze handling
2020-01-11 19:38:41 +10:00
Damien Elmes
a51a4e4d31
drop pystache and move legacy code into separate file
2020-01-11 19:38:30 +10:00
Damien Elmes
dc8b854ada
drop pystache comparison
2020-01-11 18:15:13 +10:00
Damien Elmes
7cde51e884
ignore extra { chars in replacement
...
This will still show a trailing } with {{{field}}}, but will at
least show the field content instead of 'unknown field'.
2020-01-11 18:02:24 +10:00
Damien Elmes
feb0a31bba
static->const
2020-01-11 13:06:48 +10:00
Damien Elmes
0ccc9e98a8
drop unnecessary capitalized cloze handling
2020-01-11 13:03:43 +10:00
Damien Elmes
389bf07b52
handle mathjax+cloze case
...
instead of trying to selectively change clozes from c to C, just
strip HTML from inside the mathjax sections instead
2020-01-11 12:57:32 +10:00
Damien Elmes
cc09ca34d4
cloze: support
...
MathJax still to do
2020-01-11 12:07:06 +10:00