Exemplo n.º 1
0
Arquivo: remote.py Projeto: clones/kaa
 def get_extension(self, ext):
     """
     Get API for given extension
     """
     if hasattr(self, ext):
         return getattr(self, ext)
     if not ext in self._plugins:
         self._plugins[ext] = plugin.get_plugin(ext)[-2]()
         self._plugins[ext]._extension_connect(self)
         self._plugins[ext]._extension_activate()
     return self._plugins.get(ext)
Exemplo n.º 2
0
Arquivo: client.py Projeto: clones/kaa
 def activate_extension(self, ext, *args, **kwargs):
     """
     Activate the given plugin
     """
     if hasattr(self, ext):
         # auto connected extensions
         return getattr(self, ext)
     if not ext in self._plugins:
         # Add extension plugin to the client.
         disco, cls = plugin.get_plugin(ext)[:2]
         obj = cls()
         obj._xmpp_disco = disco
         obj._extension_connect(self)
         obj._extension_activate(*args, **kwargs)
         self._plugins[ext] = obj
     for feature in self._plugins[ext]._xmpp_disco:
         if feature and not feature in self.features:
             self.features.append(feature)
     return self._plugins[ext]