Beispiel #1
0
    def __init__(self, manager, parameters):
        self.check_parameters(parameters)
        self._manager = manager
        account = parameters["account"]
        settings_file = parameters["settings-file"]
        file = open(settings_file, "r")
        settings = read_jad(file)
        file.close()
        protocol, host, port, path = parse_url(settings["sl1"])

        logger.info("Settings: %s" % settings_file)
        # server = parameters['server'].encode('utf-8')
        # port = parameters['port']

        self._account = account

        self._channel_manager = ChannelManager(self)

        # Call parent initializers
        try:
            telepathy.server.Connection.__init__(self, "mxit", account, "mixer")
        except TypeError:  # handle old versions of tp-python
            telepathy.server.Connection.__init__(self, "mxit", account)
        ConnectionInterfaceRequests.__init__(self)
        MixerPresence.__init__(self)
        MixerAliasing.__init__(self)
        MixerCoreProperties.__init__(self)

        self._register_r(
            "org.freedesktop.Telepathy.Connection.Interface.Requests", "RequestableChannelClasses", "Channels"
        )

        self.set_self_handle(MixerHandleFactory(self, "self"))
        con = MxitConnection(
            host=host, port=port, client_id=settings["c"], country_code=int(settings["cc"]), language=settings["loc"]
        )
        con.listeners.add(MixerListener(self))
        con.id = account.split("@")[0]
        con.password = parameters["password"]
        # con.client_id = parameters['client_id']
        self.mxit = con
        self.commands = CommandHandler(self)

        logger.info("Connection to the account %s created" % account)