コード例 #1
0
ファイル: gateway.py プロジェクト: opiums9/vk4xmpp
def connect():
    """
	Makes a connection to the jabber server
	Returns:
		False if failed
		True if completed
	"""
    global Component
    Component = xmpp.Component(Host, debug=DEBUG_XMPPPY)
    Print("\n#-# Connecting: ", False)
    if not Component.connect((Server, Port)):
        Print("failed.\n", False)
        return False
    else:
        Print("ok.\n", False)
        Print("#-# Auth: ", False)
        if not Component.auth(TransportID, Password):
            Print(
                "failed (%s/%s)!\n" %
                (Component.lastErr, Component.lastErrCode), True)
            return False
        else:
            Print("ok.\n", False)
            Component.RegisterDisconnectHandler(disconnectHandler)
            Component.set_send_interval(STANZA_SEND_INTERVAL)
    return True
コード例 #2
0
def main():
    Counter = [0, 0]
    getPid()
    initDatabase(DatabaseFile)
    globals()["Component"] = xmpp.Component(Host, debug=DEBUG_XMPPPY)
    Print("\n#-# Connecting: ", False)
    if not Component.connect((Server, Port)):
        Print("fail.\n", False)
    else:
        Print("ok.\n", False)
        Print("#-# Auth: ", False)
        if not Component.auth(TransportID, Password):
            Print(
                "fail (%s/%s)!\n" % (Component.lastErr, Component.lastErrCode),
                True)
            disconnectHandler(False)
        else:
            Print("ok.\n", False)
            Component.RegisterHandler("iq", iqHandler)
            Component.RegisterHandler("presence", prsHandler)
            Component.RegisterHandler("message", msgHandler)
            Component.RegisterDisconnectHandler(disconnectHandler)
            Print("#-# Initializing users", False)
            with Database(DatabaseFile) as db:
                users = db("select jid from users").fetchall()
                for user in users:
                    Print(".", False)
                    Sender(Component,
                           xmpp.Presence(user[0], "probe", frm=TransportID))
            Print("\n#-# Finished.")
            if allowBePublic:
                makeMeKnown()
コード例 #3
0
def main():
    Counter = [0, 0]
    getPid()
    initDatabase(DatabaseFile)
    globals()["Component"] = xmpp.Component(Host, debug=DEBUG_XMPPPY)
    Print("\n#-# Connecting: ", False)
    if not Component.connect((Server, Port)):
        Print("fail.\n", False)
        crashLog("main.connect")
    else:
        Print("ok.\n", False)
        Print("#-# Auth: ", False)
        if not Component.auth(TransportID, Password):
            Print(
                "fail (%s/%s)!\n" % (Component.lastErr, Component.lastErrCode),
                True)
        else:
            Print("ok.\n", False)
            Print("#-# Initializing users", False)
            with Database(DatabaseFile) as db:
                users = db("select * from users").fetchall()
                for user in users:
                    jid, phone = user[:2]
                    Transport[jid] = tUser((phone, None), jid)
                    try:
                        if Transport[jid].connect():
                            TransportsList.append(Transport[jid])
                            if DefaultStatus == 1:
                                Transport[jid].init(None, False)
                            Print(".", False)
                            Counter[0] += 1
                        else:
                            Print("!", False)
                            Counter[1] += 1
                            crashLog("main.connect", 0, False)
                            msgSend(
                                Component, jid,
                                _("Auth failed! If this error repeated, please register again. This incident will be reported."
                                  ), TransportID)
                    except KeyboardInterrupt:
                        exit()
                    except:
                        crashLog("main.init")
                        continue
            Print("\n#-# Connected %d/%d users." %
                  (Counter[0], len(TransportsList)))
            if Counter[1]:
                Print("#-# Failed to connect %d users." % Counter[1])

            globals()["lengthOfTransportsList"] = int(
                ceil(float(len(TransportsList)) / SLICE_STEP) * SLICE_STEP)
            Component.RegisterHandler("iq", iqHandler)
            Component.RegisterHandler("presence", prsHandler)
            Component.RegisterHandler("message", msgHandler)
            Component.RegisterDisconnectHandler(disconnectHandler)

            for start in xrange(0, lengthOfTransportsList, SLICE_STEP):
                end = start + SLICE_STEP
                threadRun(hyperThread, (start, end), "hyperThread-%d" % start)

            Print("\n#-# Finished.")