-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement more modern plugin system #1228
base: develop
Are you sure you want to change the base?
Implement more modern plugin system #1228
Conversation
06b13dd
to
937a10a
Compare
Do we want to, perhaps, use a plugin.json (or other format) file to indicate names and things? The benefits would be:
Not sure if there are any others, those are the ones that came to mind |
b76584a
to
5cb9410
Compare
This is starting to get to a point where it works and can be merged |
0adc86c
to
59df59f
Compare
For details see ARCHITECTURE.md
I've been writing too much go apparently. load_plugin() now raises exceptions when things go wrong, rather than an opaque bool return.
To force plugin authors to implement load
Also clarified an exception
Split loading and unloading tests into their own files Added a conftest file to setup globals between said two files Added plugin unloading and tests for said plugin unloading Made plugin.manager.PluginManager.load_plugin() return the loaded plugin, if possible
additionally fixed that the columns werent weighted right
specifically, show_error, provides, and invoke
these are available on the plugin itself
I... Have no idea why this wasn't a thing before. Its exactly the "correct" way to do this. There's no thread issues, no timing issues. Just nice, simple, string setting.
59df59f
to
cb3ebba
Compare
To ensure my "let's get this merged ASAP, but not as the default" ideas don't get lost ... first of all a copy/paste, but look past it to a more structured set of thoughts:
There's probably going to be some "the devil is in the details" on this, but hopefully that conveys the idea of "have v2 available. |
This is unfinished, here for comment only at the moment