Philipp Hörist
c1948d05e0
Get module instance after checking for zeroconf
2019-03-16 15:38:19 +01:00
Philipp Hörist
510985d7c4
Enforce min and max version for plugin manifest
...
This reduces problems with old plugins without max version
2018-11-13 21:56:21 +01:00
Philipp Hörist
a7624b564f
Fix error when plugin cant be loaded
...
Fixes #9403
2018-10-26 00:23:13 +02:00
Philipp Hörist
ec05b1a47e
Catch exceptions when loading plugins
2018-10-13 14:14:28 +02:00
Yann Leboulanger
83c737312b
Ability to update plugins on startup from a download folder
2018-10-13 13:31:00 +02:00
Philipp Hörist
796da7b2dc
Dont overwrite user plugins with base plugins
...
- Dont load plugins without short_name
- Check with the short_name if a plugin is already loaded
2018-10-11 20:01:49 +02:00
Philipp Hörist
bd2a3a0e17
Improve finding locale dir
...
- Dont install _() globally, although its elegant mypy cant deal with it
- If gettext cant find the translation itself, iter through all dirs and search for it
2018-10-07 00:47:00 +02:00
Philipp Hörist
f197358e2f
Import _() instead of using builtin namespace
...
- Prepare for removing the global installed _() method in builtins
- Sort some imports along the way
2018-10-07 00:47:00 +02:00
Philipp Hörist
ad5f59ba49
configpaths: Add get_plugin_dirs() method
...
This helps with mypy because otherwise get() has multiple return types
This reduces our usage of cast()
2018-10-07 00:46:54 +02:00
Philipp Hörist
f12dfb811d
Fix trailing-whitespace pylint errors
2018-10-07 00:46:48 +02:00
Philipp Hörist
e842298724
Fix bad-whitespace pylint errors
2018-10-07 00:46:48 +02:00
Philipp Hörist
dad5331bf2
Fix no-else-return pylint errors
2018-10-07 00:46:46 +02:00
Philipp Hörist
defe74cc06
Fix literal-comparison pylint errors
2018-10-07 00:46:45 +02:00
Philipp Hörist
cebd83d436
Fix unused-variable pylint errors
2018-10-07 00:46:44 +02:00
Philipp Hörist
6305fc69b9
Fix logging-not-lazy pylint errors
2018-10-07 00:46:43 +02:00
Philipp Hörist
ebc0dd4536
Fix license comment format
...
every linter flags this as an error
2018-10-07 00:46:35 +02:00
Philipp Hörist
f25634bff5
Register modules defined by plugins
2018-10-07 00:46:33 +02:00
Alexander Krotov
1d27ab2254
Spellcheck
2018-06-21 03:05:47 +03:00
Philipp Hörist
779a4d4ce3
Get version from package instead of config
2018-05-01 00:37:13 +02:00
Markus Wintermann
49bfc1f226
Add support for dynamic reloading of plugins
...
* rename the remove_plugin function to uninstall_plugin because it
deletes files on the disc and uninstall is the label of the button which
triggers this function
* added a new remove_plugin function, which deactivates the plugin (if
needed), removes it from the list of managed plugins and deletes the
contents of sys.modules
2018-04-28 13:31:19 +02:00
Philipp Hörist
105427b8fd
Use consistent way to get paths
...
This lets us now import the app module without setting paths
2018-04-25 20:49:37 +02:00
Philipp Hörist
276daa991c
Correctly split version string
...
We changed the version format
2017-11-24 16:49:30 +01:00
Philipp Hörist
775fec2fea
Dont activate plugins in PluginManager init
...
Plugins maybe want to use in their activation Gajim methods that
use an extension point. But because the PluginManager Object is not fully
initialized, the extension point method is not available yet
First create the PluginManager Object, then load Plugins.
2017-11-15 22:26:55 +01:00
Yann Leboulanger
8d4e815f3e
fix some pylint errors
2017-08-24 23:01:06 +02:00
André Apitzsch
89c7eb6e6a
Rename gajim.common.gajim to avoid name conflicts
2017-08-18 20:03:20 +02:00
André Apitzsch
efec098aef
Use absolute imports
2017-08-18 19:48:48 +02:00
Philipp Hörist
635ce52856
PluginManager: prefer plugins in user path
...
As we always load plugins from the user path first, we should not
reload them later from Gajims plugin base dir
2017-08-07 20:02:03 +02:00
Philipp Hörist
7e0e4cced0
PluginManager: remove plugin path from sys.path
...
Remove plugin path from sys.path after importing.
If we scan multiple plugin dirs and never remove the path from
sys.path, it is hard to predict from which path python will import
a package.
The chance that the same plugin package is in multiple plugin paths
is high.
2017-08-07 19:28:54 +02:00
André Apitzsch
125ce523e4
Rename src directory
2017-07-02 17:25:47 +02:00