Changeset 9803
- Timestamp:
- 06/14/08 20:20:24 (6 months ago)
- Location:
- branches/plugin-system
- Files:
-
- 4 added
- 2 modified
-
plugins/roster_buttons (added)
-
plugins/roster_buttons/__init__.py (added)
-
plugins/roster_buttons/plugin.py (added)
-
plugins/roster_buttons/roster_buttons.glade (added)
-
src/plugins/pluginmanager.py (modified) (3 diffs)
-
src/plugins/plugin.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/plugin-system/src/plugins/pluginmanager.py
r9773 r9803 172 172 if success: 173 173 self.active_plugins.append(plugin_object) 174 plugin_object.activate() 174 175 plugin_class._instance = plugin_object 175 176 plugin_class._active = True … … 194 195 195 196 # removing plug-in from active plug-ins list 197 plugin_object.deactivate() 196 198 self.active_plugins.remove(plugin_object) 197 199 plugin_object.__class__._active = False … … 250 252 if os.path.isdir(path): 251 253 dir_list = os.listdir(path) 252 log.debug(dir_list)254 #log.debug(dir_list) 253 255 254 256 sys.path.insert(0, path) 255 log.debug(sys.path)256 257 for file_name in fnmatch.filter(dir_list, '*.py'):258 log.debug('- "%s"'%( file_name))259 file_path = os.path.join(path, file_name)257 #log.debug(sys.path) 258 259 for elem_name in dir_list: 260 log.debug('- "%s"'%(elem_name)) 261 file_path = os.path.join(path, elem_name) 260 262 log.debug(' "%s"'%(file_path)) 261 if os.path.isfile(file_path): 262 module_name = os.path.splitext(file_name)[0] 263 module = __import__(module_name) 264 for module_attr_name in [f_name for f_name in dir(module) 265 if not (f_name.startswith('__') or 266 f_name.endswith('__'))]: 263 264 module = None 265 266 if os.path.isfile(file_path) and fnmatch.fnmatch(file_path,'*.py'): 267 module_name = os.path.splitext(elem_name)[0] 268 log.debug('Possible module detected.') 269 try: 270 module = __import__(module_name) 271 log.debug('Module imported.') 272 except ValueError, value_error: 273 log.debug('Module not imported successfully. ValueError: %s'%(value_error)) 274 except ImportError, import_error: 275 log.debug('Module not imported successfully. ImportError: %s'%(import_error)) 276 277 elif os.path.isdir(file_path): 278 module_name = elem_name 279 file_path += os.path.sep 280 log.debug('Possible package detected.') 281 try: 282 module = __import__(module_name) 283 log.debug('Package imported.') 284 except ValueError, value_error: 285 log.debug('Package not imported successfully. ValueError: %s'%(value_error)) 286 except ImportError, import_error: 287 log.debug('Package not imported successfully. ImportError: %s'%(import_error)) 288 289 290 if module: 291 log.debug('Attributes processing started') 292 for module_attr_name in [attr_name for attr_name in dir(module) 293 if not (attr_name.startswith('__') or 294 attr_name.endswith('__'))]: 267 295 module_attr = getattr(module, module_attr_name) 268 296 log.debug('%s : %s'%(module_attr_name, module_attr)) 269 297 270 298 try: 271 299 if issubclass(module_attr, GajimPlugin) and \ 272 300 not module_attr is GajimPlugin: 273 301 log.debug('is subclass of GajimPlugin') 302 #log.debug('file_path: %s\nabspath: %s\ndirname: %s'%(file_path, os.path.abspath(file_path), os.path.dirname(os.path.abspath(file_path)))) 303 #log.debug('file_path: %s\ndirname: %s\nabspath: %s'%(file_path, os.path.dirname(file_path), os.path.abspath(os.path.dirname(file_path)))) 304 module_attr.__path__ = os.path.abspath(os.path.dirname(file_path)) 274 305 plugins_found.append(module_attr) 275 306 except TypeError, type_error: -
branches/plugin-system/src/plugins/plugin.py
r9792 r9803 24 24 :license: GPL 25 25 ''' 26 27 import os 26 28 27 29 from plugins.helpers import log_calls … … 118 120 self._save_config() 119 121 122 @log_calls('GajimPlugin') 123 def local_file_path(self, file_name): 124 return os.path.join(self.__path__, file_name) 125 126 @log_calls('GajimPlugin') 127 def activate(self): 128 pass 129 130 @log_calls('GajimPlugin') 131 def deactivate(self): 132 pass 120 133 121 134 class Config(dict):
