Damien Elmes
69a7ee430d
type hints
2020-01-16 09:19:53 +10:00
Damien Elmes
cc9a36c11a
simplify previewCards() and use existing card ids where possible
...
The type arg is no longer used, as neither type 0 nor 1 appears to
have been used in the codebase.
By using the existing card ids, it allows add-ons that gather
information about a card to work properly in the card template screen
without extra hacks.
2020-01-16 09:19:41 +10:00
Damien Elmes
391d849e51
fix invalid func name in unfocus hook
...
Don't know why mypy and pylint both failed to catch this :-(
2020-01-16 08:53:28 +10:00
Damien Elmes
6d9baaf052
check_untyped_defs in mypy for pylib
2020-01-16 08:10:49 +10:00
Damien Elmes
8cb980bacc
fix checkLeech hint
2020-01-16 07:59:57 +10:00
Damien Elmes
886536d78f
fix cases where we used the wrong type sig to connect to gui hook
2020-01-16 07:53:12 +10:00
Damien Elmes
8310cb7a0e
add qconnect helper and some type hints
...
The type hints allow mypy to check the gui_hook calls, revealing a
bunch of places that are broken as they expect no arguments like the
legacy hooks.
To make mypy happy about PyQt's signal.connect(func), a qconnect()
helper has been added.
2020-01-16 07:41:23 +10:00
Damien Elmes
c6d0425020
basic anti spam protection
2020-01-15 20:34:10 +10:00
Damien Elmes
967b8a038d
Merge pull request #421 from ErezVolk/tag-changed-grooming
...
Tag modified grooming
2020-01-15 20:25:51 +10:00
Damien Elmes
99c45c5fbc
allow an empty field name if filters are provided
...
This is to make it easier for add-ons to provide extra content that
degrades nicely on platforms that don't have the add-on.
2020-01-15 18:48:23 +10:00
Erez Volk
bd9aaa9296
Small fixes and tweaks to "Tag Modified":
...
- No need for the checkbox, as an unchecked box is equal to an empty
`QLineEdit`.
- The value was saved to the profile but not loaded.
- And the real pièce de résistance: I've figured out how to "Promote"
the `QLineEdit` to a `TagEdit`.
Hope you like it! :)
2020-01-15 10:46:05 +02:00
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