diff --git a/src/core/sat_main.py b/src/core/sat_main.py index d934ac69..fd315b1d 100644 --- a/src/core/sat_main.py +++ b/src/core/sat_main.py @@ -265,9 +265,13 @@ class SAT(service.Service): for plugin in self.plugins.iteritems(): if plugin[1].is_handler: plugin[1].getHandler(profile).setHandlerParent(current) - connected_cb = getattr(plugin[1], "profileConnected", None) + connected_cb = getattr(plugin[1], "profileConnected", None) # profile connected is called after client is ready and roster is got if connected_cb: plugin_conn_cb.append((plugin[0], connected_cb)) + try: + yield plugin[1].profileConnecting(profile) # profile connecting is called before actually starting client + except AttributeError: + pass current.startService() @@ -290,7 +294,7 @@ class SAT(service.Service): {'name': plugin_conn_cb[idx][0], 'failure': result}) yield list_d.addCallback(logPluginResults) # FIXME: we should have a timeout here, and a way to know if a plugin freeze - # TODO: mesure time to launch of each plugin + # TODO: mesure launch time of each plugin def _authenticateProfile(self, password, profile): """Authenticate the profile.