This website requires JavaScript.
Explore
Help
Sign In
langfingaz
/
anki
Watch
1
Star
0
Fork
0
You've already forked anki
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
3e05002421
anki
/
requirements.txt
8 lines
60 B
Plaintext
Raw
Normal View
History
Unescape
Escape
add requirements.txt
2016-05-31 10:52:23 +02:00
bs4
send2trash
httplib2
pyaudio
use requests for http; add progress info back - wrap request in AnkiRequestsClient so we can keep track of upload/download bytes without having to monkey patch anything - force a 64kB buffer size instead of the default 8kB - show one decimal point in up/down so small requests still give visual feedback - update add-on downloading and update check to use requests - remove the update throttling in aqt/sync.py, as it's not really necessary anymore
2017-01-08 10:06:32 +01:00
requests
Make hooks.wrap preserve signatures, fixes hooking some pyqt5 callbacks It looks like pyqt5 is playing dirty and checking the number of args of functions before calling them. When using hooks.wrap, pyqt5 thinks it can pass any amount of arguments (because *args) and you get exceptions like this inside the wrap function, when calling the 'old' function: >TypeError: onFindDupes() takes 1 positional argument but 2 were given This commit fixes it by preserving the signature of the wrapped method, by adding an optional dependency on the "decorator" module. Making it an optional dependency is probably not the wisest idea but since this is a small edge case it might be smoother to start like this. I also added functools.wraps() as a fallback, which won't help much but is slightly more correct. See this article for details: https://hynek.me/articles/decorators/
2017-07-17 04:25:34 +02:00
decorator
persistent add-on configuration - add-ons can ship default config in a config.json file - users can edit the config in the add-ons dialog, easily syntax-check the json, and restore it to the defaults - an optional config.md contains instructions to the user in markdown format - config will be preserved when add-on is updated, instead of being overwritten as is the case when users are required to edit the source files A simple example: in config.json: {"myvar": 5} In your add-on's code: from aqt import mw config = mw.addonManager.getConfig(__name__) print("var is", config['myvar']) Add-ons that manage options in their own GUI can have that GUI displayed when the config button is clicked: mw.addonManager.setConfigAction(__name__, myOptionsFunc)
2017-08-28 12:51:43 +02:00
markdown
Reference in New Issue
Copy Permalink