def __call__(self, *args, **kwargs): """Call this instance.""" app_name = args[0] if len(args) > 0 else None logger.debug('Handling signal_name: %r, app_name: %r.', self.signal_name, app_name) if app_name != APP_NAME: # This fixed bug #818190: filter signals not related to APP_NAME logger.info('Received %r but app_name %r does not match %r, ' \ 'exiting.', self.signal_name, app_name, APP_NAME) return if self.callback is not None: # drop the app name, callers do not care about it args = args[1:] logger.debug('Calling %r with %d args and %d kwargs.', self.callback, len(args), len(kwargs)) return self.callback(*args, **kwargs)
def _signal_handler(self, *args, **kwargs): """Generic signal handler.""" member = kwargs.get("member", None) app_name = args[0] if len(args) > 0 else None logger.debug("Handling DBus signal for member: %r, app_name: %r.", member, app_name) if app_name != APP_NAME: logger.info("Received %r but app_name %r does not match %r, " "exiting.", member, app_name, APP_NAME) return sig = getattr(self, member) if member in ("CredentialsFound", "CredentialsError"): # this are the only signals that will forward the parameter logger.info("%r", member) arg = args[1] sig(arg) else: sig()
def CredentialsStored(self): """Signal thrown when the credentials were cleared.""" self.ref_count -= 1 logger.info("%s: emitting CredentialsStored.", self.__class__.__name__)
def CredentialsNotFound(self): """Signal thrown when the credentials are not found.""" self.ref_count -= 1 logger.info("%s: emitting CredentialsNotFound.", self.__class__.__name__)
def AuthorizationDenied(self): """Signal thrown when the user denies the authorization.""" self.ref_count -= 1 logger.info("%s: emitting AuthorizationDenied.", self.__class__.__name__)
def shutdown(self): """If no ongoing requests, call self.shutdown_func.""" logger.debug("shutdown!, ref_count is %r.", self._ref_count) if self._ref_count == 0: logger.info("Shutting down, calling %r.", self.shutdown_func) self.shutdown_func()
def CredentialsFound(self, credentials): """Signal thrown when the credentials are found.""" self.ref_count -= 1 logger.info('%s: emitting CredentialsFound.', self.__class__.__name__)