def __init__(self): setup_dbus() # This properly sets the `DBUS_SESSION_BUS_ADDRESS` environ variable so that dbus will work try: # Try to connect to the concierge daemon via dbus self.bus = dbus.SessionBus() self.obj = self.bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") self.purple = dbus.Interface(self.obj, "im.pidgin.purple.PurpleInterface") except: raise ConciergeError('Could not connect to concierge daemon. Is it running?') if self.purple: self.accounts = [PurpleAccount(self.purple, account) for account in self.purple.PurpleAccountsGetAll()]
def open(self): if self.connection: return False try: # Try to connect to the concierge daemon via dbus setup_dbus() # This properly sets the `DBUS_SESSION_BUS_ADDRESS` environ variable so that dbus will work self.bus = dbus.SessionBus() self.obj = self.bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject") self.connection = dbus.Interface(self.obj, "im.pidgin.purple.PurpleInterface") return True except: if not self.fail_silently: raise ConciergeError('Could not connect to concierge daemon. Is it running?')