Initial commit related to plug-in system:
- basic PluginManager class that loads plugins from *.py files in given directories - Singleton metaclass was created to use with PluginManager; notice: __init__ of class is called only once (not like in code that is included in Python Cookbook) - variable to keep paths of plugin directories has been created (common.gajim.PLUGINS_DIRS); also added initilization of these paths to common.ConfigPaths - added global variable with PluginManager object: common.gajim.plugin_manager - created customized logger for plugin system ('gajim.plugin_system') - created function decorator plugins.helpers.log_calls which logs each call of function/method; it also logs when function is left - base class Plugin for plug-in implementation added; not much here - only empty class attributes: name, short_name, authors, version, description - based on Plugin class, first plugin was created named LengthNotifierPlugin; it is used to notify users when they exceed given length of message during writing it (text entry field highlights) - first GUI extension points works when ChatControl object is created (it is used in mentioned plugin) - added 'epydoc.conf' file customized a little bit (file is also in trunk now) - fixed indentation in common.sleepy module (also in trunk now)
Showing
- epydoc.conf 28 additions, 0 deletionsepydoc.conf
- plugins/length_notifier.py 95 additions, 0 deletionsplugins/length_notifier.py
- src/chat_control.py 2 additions, 0 deletionssrc/chat_control.py
- src/common/configpaths.py 4 additions, 0 deletionssrc/common/configpaths.py
- src/common/gajim.py 3 additions, 0 deletionssrc/common/gajim.py
- src/common/sleepy.py 12 additions, 12 deletionssrc/common/sleepy.py
- src/gajim.py 4 additions, 0 deletionssrc/gajim.py
- src/plugins/__init__.py 30 additions, 0 deletionssrc/plugins/__init__.py
- src/plugins/helpers.py 113 additions, 0 deletionssrc/plugins/helpers.py
- src/plugins/plugin.py 40 additions, 0 deletionssrc/plugins/plugin.py
- src/plugins/pluginmanager.py 130 additions, 0 deletionssrc/plugins/pluginmanager.py
- test/test_pluginmanager.py 61 additions, 0 deletionstest/test_pluginmanager.py
Loading
Please register or sign in to comment