Show
Ignore:
Timestamp:
06/02/08 01:33:51 (6 months ago)
Author:
vardo
Message:

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)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/plugin-system/src/common/configpaths.py

    r9095 r9737  
    9393                self.add('HOME', fse(os.path.expanduser('~'))) 
    9494                self.add('TMP', fse(tempfile.gettempdir())) 
     95                 
     96                # dirs for plugins 
     97                self.add('PLUGINS_BASE', os.path.join(u'..', windowsify(u'plugins'))) 
     98                self.add_from_root('PLUGINS_USER', u'plugins') 
    9599 
    96100                try: