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/sleepy.py

    r8972 r9737  
    3636SUPPORTED = True 
    3737try: 
    38                 if os.name == 'nt': 
    39                         import ctypes 
     38        if os.name == 'nt': 
     39                import ctypes 
    4040 
    41                         GetTickCount = ctypes.windll.kernel32.GetTickCount 
    42                         GetLastInputInfo = ctypes.windll.user32.GetLastInputInfo 
     41                GetTickCount = ctypes.windll.kernel32.GetTickCount 
     42                GetLastInputInfo = ctypes.windll.user32.GetLastInputInfo 
    4343 
    44                         class LASTINPUTINFO(ctypes.Structure): 
    45                                 _fields_ = [('cbSize', ctypes.c_uint), ('dwTime', ctypes.c_uint)] 
     44                class LASTINPUTINFO(ctypes.Structure): 
     45                        _fields_ = [('cbSize', ctypes.c_uint), ('dwTime', ctypes.c_uint)] 
    4646 
    47                         lastInputInfo = LASTINPUTINFO() 
    48                         lastInputInfo.cbSize = ctypes.sizeof(lastInputInfo) 
     47                lastInputInfo = LASTINPUTINFO() 
     48                lastInputInfo.cbSize = ctypes.sizeof(lastInputInfo) 
    4949 
    50                 elif sys.platform == 'darwin': 
    51                         import osx.idle as idle 
    52                 else: # unix 
    53                         import idle 
     50        elif sys.platform == 'darwin': 
     51                import osx.idle as idle 
     52        else: # unix 
     53                import idle 
    5454except: 
    5555        gajim.log.debug('Unable to load idle module')