Commit graph

35 commits

Author SHA1 Message Date
mathieui
dde153e85b Reverse the plugin loading path 2013-05-11 12:00:37 +02:00
mathieui
9fd15cc2a2 Use importlib for python 3.3 to load plugins
(also probably fix the I/O operation on closed file issue when using
imp)
2013-04-16 18:49:03 +02:00
mathieui
eb2e5825bc Disable plugins on exit 2013-03-10 23:58:20 +01:00
mathieui
370cc874c2 Introduce a new way for plugins to interact with poezio
- Try to reduce the use of the “core” object in the plugins
- New “api” member for each BasePlugin which is a wrapper around
    the unique PluginAPI object. (instead of having the methods
    directly in BasePlugin and then calling the PluginManager)
- Documented methods with rst (for sphinx)
2013-03-06 22:57:41 +01:00
mathieui
e861290d10 Add a plugins_conf_dir option 2013-03-03 00:24:18 +01:00
mathieui
3755b51430 Use the new command scheme in plugins too
(while staying backwards-compatible)
2013-01-18 23:25:33 +01:00
mathieui
ba569630f7 Revert "Fix #2151 (cannot reload the OTR plugin)"
Importlib is utterly broken in python < 3.3, So revert for now

This reverts commit a1c3d0dcdf.

Conflicts:
	src/plugin_manager.py
2012-11-22 20:16:16 +01:00
mathieui
d3e1f8085e Hack to make importlib work on python < 3.3 2012-11-21 23:30:59 +01:00
mathieui
70d389ade7 Fix #2154 2012-11-18 18:08:03 +01:00
mathieui
d8b12a35df For some reasons, importlib.machinery does not work on some platforms 2012-11-18 13:46:50 +01:00
mathieui
27b7219b79 Changes to the plugin_dir option are now taken into account on runtime 2012-11-17 23:06:21 +01:00
mathieui
a1c3d0dcdf Fix #2151 (cannot reload the OTR plugin)
We were using the deprecated imp methods, now we use importlib
2012-11-17 23:03:38 +01:00
mathieui
0af1c7fe9a Docstrings, and small cleanup 2012-05-21 02:14:25 +02:00
mathieui
5a1a7a567d Do not quote the plugins on completion 2012-04-19 13:08:35 +02:00
mathieui
a6187895c7 Do not show the traceback if unloading a plugin failed 2012-03-31 01:28:11 +02:00
mathieui
791bcf19b1 Fixes #2347 2012-03-28 23:08:31 +02:00
mathieui
6d2af1116c Fix a bug in plugin unloading (commands/keys not deleted properly) 2012-03-09 23:24:29 +01:00
mathieui
75f7d71080 Use os.path.expanduser to interpret '~' for _dir config options 2011-11-16 09:46:09 +01:00
mathieui
338a4b5717 Add a way for a plugin to add a keybind only for a type of tab 2011-11-13 20:17:33 +01:00
mathieui
39fcd9a4f6 Allow a plugin to add a keybinding 2011-11-13 19:43:31 +01:00
mathieui
4b02b1a812 Fix add_tab_command (and remove) 2011-11-13 00:25:30 +01:00
mathieui
bd2d1caa0a Autoload plugins in session_start instead of core.__init__ 2011-11-10 17:06:28 +01:00
mathieui
628ff3b0d9 Add per_tab_type commands for the plugins 2011-11-10 14:39:19 +01:00
mathieui
e467020e29 Add messages on plugin load/unload 2011-11-09 23:28:01 +01:00
mathieui
98b9506983 Remove poezio_event_handler to keep only event_handler 2011-11-09 14:02:17 +01:00
mathieui
d6b8ca50f2 Remove first&last and only use "position" in plugins events 2011-11-07 15:09:39 +01:00
mathieui
961cf5df85 New type of events to be used with the plugins 2011-11-06 23:46:00 +01:00
mathieui
d589896599 Adds a way to delete the commands without reloading the plugin 2011-10-02 13:21:51 +02:00
mathieui
ed87f26db7 Added a connect() function to the plugins API, for internal event 2011-10-01 23:48:42 +02:00
Todd Eisenberger
7b8a860de9 Fix loading already loaded plugins 2011-09-27 10:14:18 -07:00
mathieui
00ed9b4842 [teisenbe] Fix a bug in case of XDG_CONFIG_HOME not set 2011-09-25 03:01:32 +02:00
mathieui
1a6d903e34 Add a config file to the plugins by default 2011-09-25 02:39:00 +02:00
Florent Le Coz
eb096892a9 Completion for load and unload commands 2011-09-24 23:10:55 +02:00
Florent Le Coz
f275567478 [teisenbe] Use the imp module to import modules.
Also add a simple translator module
2011-09-24 22:26:31 +02:00
Florent Le Coz
e3b933445f [teisenbe] first attempt at a plugin system. 2011-09-23 17:43:01 +02:00