Damien Elmes
8bad40152d
remove _hook/_filter suffix
2020-01-15 16:53:24 +10:00
Damien Elmes
a38b5c1bb6
tweak the hook names in anki/
...
still a work in progress
2020-01-15 16:43:22 +10:00
Damien Elmes
a2038b6a90
fix stdmodels type hint
2020-01-15 15:30:40 +10:00
Damien Elmes
e6f60e65f0
fix file path in comment
2020-01-15 15:29:23 +10:00
Damien Elmes
9032483456
update contrib file
2020-01-15 14:26:50 +10:00
Damien Elmes
2cdbebd099
bump version
...
.19 will be another bugfix release
2020-01-15 13:50:26 +10:00
Damien Elmes
32edb4522d
migrate addHook/remHook calls
2020-01-15 13:49:26 +10:00
Damien Elmes
141c86acd9
idempotent hook removal
...
This matches remHook()'s behaviour
2020-01-15 13:16:43 +10:00
Damien Elmes
f6ccde1c2f
tidy hooks, add reviewCleanup
2020-01-15 13:03:11 +10:00
Damien Elmes
aa0300af90
migrate most of the remaining runHook() calls
2020-01-15 12:46:53 +10:00
Damien Elmes
8fb11a4070
remove unused function
2020-01-15 12:17:29 +10:00
Damien Elmes
550264b1e5
add more hooks, tweak wording for consistency
2020-01-15 12:16:54 +10:00
Damien Elmes
bf5fc1177a
add optional docstring to hooks
2020-01-15 12:14:32 +10:00
Damien Elmes
2f2d376746
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
ac9470dd5f
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
e250550ac0
add _ prefix to generated classes to improve code completion
2020-01-15 08:58:27 +10:00
Damien Elmes
80d7333c9d
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
ac07cf3920
remove some comments that are no longer relevant
2020-01-14 20:45:18 +10:00
Damien Elmes
df205ec38f
bump version
2020-01-14 17:28:55 +10:00
Damien Elmes
50729da84a
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
2aae03cdf1
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
5b3852b2ba
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
66ffc1a432
fix broken answer displaying
2020-01-14 09:00:52 +10:00
Damien Elmes
7352e0f43b
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
c84c3bce72
fix overlapping clozes
2020-01-14 07:07:21 +10:00
Damien Elmes
6fe2d06b16
add hook to modify template prior to rendering
2020-01-13 21:57:15 +10:00
Damien Elmes
7f65f95245
request type hints in new contributions
2020-01-13 21:39:57 +10:00
Damien Elmes
21feaf9a63
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
2834cdcc6a
add license to wheels and option to skip bundling extra files
2020-01-13 20:04:23 +10:00
Damien Elmes
555d1f0e55
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
3d94af972e
update the rest of the anki/ hooks/filters
2020-01-13 17:59:52 +10:00
Damien Elmes
ad59c96bdd
run black on generated hooks
2020-01-13 17:55:58 +10:00
Damien Elmes
765c7a143c
buildinfo required to generate hooks
2020-01-13 14:55:32 +10:00
Damien Elmes
aa8b1645a7
add separate file for gui hooks
2020-01-13 14:38:05 +10:00
Damien Elmes
f13b98cc20
stray space
2020-01-13 13:58:35 +10:00
Damien Elmes
ae4ea8db22
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
356962cb2c
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
8eceedd2e5
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
65d86fe853
update version
2020-01-12 15:10:27 +10:00
Damien Elmes
c486a4bf6d
fix type:cloze handling
2020-01-11 19:38:41 +10:00
Damien Elmes
718bb3fae8
drop pystache and move legacy code into separate file
2020-01-11 19:38:30 +10:00
Damien Elmes
d6884dd792
drop pystache comparison
2020-01-11 18:15:13 +10:00
Damien Elmes
524a27dd08
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
9028018277
static->const
2020-01-11 13:06:48 +10:00
Damien Elmes
41d155a6ee
drop unnecessary capitalized cloze handling
2020-01-11 13:03:43 +10:00
Damien Elmes
e7c3218724
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
cf5457da25
cloze: support
...
MathJax still to do
2020-01-11 12:07:06 +10:00
Damien Elmes
d671f091ff
type: and hint: support
...
We may need to keep handling hints in the Python code for now until
i18n is sorted out.
2020-01-11 09:35:41 +10:00
Damien Elmes
3510eb1861
add ruby filters
2020-01-10 21:04:52 +10:00
Damien Elmes
ab841d9ebe
add some text helpers
2020-01-10 21:01:23 +10:00