当前位置: 首页>>代码示例>>Python>>正文


Python JID.full方法代码示例

本文整理汇总了Python中twisted.words.protocols.jabber.jid.JID.full方法的典型用法代码示例。如果您正苦于以下问题:Python JID.full方法的具体用法?Python JID.full怎么用?Python JID.full使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在twisted.words.protocols.jabber.jid.JID的用法示例。


在下文中一共展示了JID.full方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: onIq

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def onIq(self, element: Element):
        source = JID(element.getAttribute("from"))
        recipient = JID(element.getAttribute("to"))
        identification = element.getAttribute("id")
        iqType = element.getAttribute("type")

        print("IqReceived " + source.full() + " -> " + recipient.full() + ": " + iqType)

        # Process component iq
        if recipient.full() == self.h2x.config.JID:
            self.componentIq(element, source, identification, iqType)
            return

            # Process user iq
        if self.h2x.isHangUser(recipient):
            self.userIq(element, source, recipient, identification, iqType)
            return

            # TODO: Can we send something like wrong request?
        self.__sendIqError(
            recipient=source.full(),
            sender=recipient.full(),
            identification=identification,
            errorType="cancel",
            condition="service-unavailable",
        )
开发者ID:vladamatena,项目名称:h2x,代码行数:28,代码来源:iq.py

示例2: sendMessage

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
	def sendMessage(self, recipient: JID, sender: JID, text: str, messageType: str = "chat"):
		el = Element((None, "message"))
		el.attributes["to"] = recipient.full()
		el.attributes["from"] = sender.full()
		el.attributes["type"] = messageType

		body = el.addElement("body")
		body.addContent(escape(text))
		self.send(el)
开发者ID:vladamatena,项目名称:h2x,代码行数:11,代码来源:h2x.py

示例3: get_forward_jids

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def get_forward_jids(self, stanza):
        entity_from = JID(stanza["from"])
        entity_to = JID(stanza["to"])

        if entity_from.userhost() == self.jid_proxy_to:
            new_jid_to = self.untranslate_jid(entity_to.full())
            new_jid_from = self.jid_act_as
        else:
            new_jid_to = self.jid_proxy_to
            new_jid_from = self.translate_jid(entity_from.full())

        return new_jid_to, new_jid_from
开发者ID:tsing,项目名称:XMPP-Proxy,代码行数:14,代码来源:xmpp_protocol.py

示例4: __getVersion

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
 def __getVersion(self, sender: JID, recipient: JID, identifier: str):
     iq = Element((None, "iq"))
     iq.attributes["type"] = "result"
     iq.attributes["from"] = recipient.full()
     iq.attributes["to"] = sender.full()
     if identifier:
         iq.attributes["id"] = identifier
     query = iq.addElement("query")
     query.attributes["xmlns"] = "jabber:iq:version"
     query.addElement("name", content="h2x transport")
     query.addElement("version", content=0)
     self.h2x.send(iq)
开发者ID:vladamatena,项目名称:h2x,代码行数:14,代码来源:iq.py

示例5: componentIq

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def componentIq(self, element: Element, sender: JID, identifier: str, iqType: str):
        for query in element.elements():
            xmlns = query.uri
            node = query.getAttribute("node")

            if xmlns == "http://jabber.org/protocol/disco#info" and iqType == "get":
                self.__getDiscoInfo(sender, identifier, node)
                return

            if xmlns == "http://jabber.org/protocol/disco#items" and iqType == "get":
                self.__getDiscoItems(sender, identifier, node)
                return

            if xmlns == "jabber:iq:register" and iqType == "get":
                self.__getRegister(sender, identifier)
                return

            if xmlns == "jabber:iq:register" and iqType == "set":
                self.__setRegister(element, sender, identifier)
                return

            if xmlns == "http://jabber.org/protocol/commands" and query.name == "command" and iqType == "set":
                self.__command(query, sender, identifier, node)
                return

            self.__sendIqError(
                recipient=sender.full(),
                sender=self.h2x.config.JID,
                identification=identifier,
                errorType="cancel",
                condition="feature-not-implemented",
            )
开发者ID:vladamatena,项目名称:h2x,代码行数:34,代码来源:iq.py

示例6: __getDiscoInfo

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def __getDiscoInfo(self, sender: JID, identifier: str, node: str):
        iq = Element((None, "iq"))
        iq.attributes["type"] = "result"
        iq.attributes["from"] = self.h2x.config.JID
        iq.attributes["to"] = sender.full()
        if identifier:
            iq.attributes["id"] = identifier
        query = iq.addElement("query")
        query.attributes["xmlns"] = "http://jabber.org/protocol/disco#info"

        # Node not set -> send component identity
        if node == None:
            identity = query.addElement("identity")
            identity.attributes["name"] = "Google Hangouts transport"
            identity.attributes["category"] = "gateway"
            identity.attributes["type"] = "XMPP"
            query.addElement("feature").attributes["var"] = "jabber:iq:gateway"
            query.addElement("feature").attributes["var"] = "jabber:iq:register"
            query.addElement("feature").attributes["var"] = "jabber:iq:version"

            # Generic features for both node and component
        query.addElement("feature").attributes["var"] = "http://jabber.org/protocol/commands"
        query.addElement("feature").attributes["var"] = "http://jabber.org/protocol/disco#items"
        query.addElement("feature").attributes["var"] = "http://jabber.org/protocol/disco#info"

        self.h2x.send(iq)
开发者ID:vladamatena,项目名称:h2x,代码行数:28,代码来源:iq.py

示例7: JID2Hang

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
 def JID2Hang(self, jid: JID):
     if not self.h2x.isHangUser(jid):
         raise Exception(jid.full() + " is not valid user JID for the transport")
     userIdParts = jid.user.split(".")
     userChatId = userIdParts[0]
     userGaiaId = userIdParts[1]
     return hangups.user.UserID(userChatId, userGaiaId)
开发者ID:vladamatena,项目名称:h2x,代码行数:9,代码来源:client.py

示例8: get_user

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
 def get_user(self, msg, session):
     jid = JID(msg["from"])
     try:
         rv = models.User.by_jid(jid.userhost(), session)
     except:
         print "Getting user without the jid in the DB (%s)" % jid.full()
         rv = models.User.update_status(jid.userhost(), None, session)
         self.subscribe(jid)
     return rv
开发者ID:pombredanne,项目名称:whatsup,代码行数:11,代码来源:protocol.py

示例9: __call__

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
 def __call__(self, user, prot, args):
     # For bare jids, we'll send what was requested,
     # but also look up the user and send it to any active resources
     self.ping(prot, user.jid, args)
     j = JID(args)
     if j.user and not j.resource:
         for rsrc in scheduling.resources(args):
             j.resource=rsrc
             self.ping(prot, user.jid, j.full())
开发者ID:Web5design,项目名称:twitterspy,代码行数:11,代码来源:xmpp_commands.py

示例10: get_user

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
 def get_user(self, msg, session):
     jid = JID(msg['from'])
     try:
         user = models.User.by_jid(jid.userhost(), session)
     except:
         log.msg("Getting user without the jid in the DB (%s)" % jid.full())
         user = models.User.update_status(jid.userhost(), None, session)
         self.subscribe(jid)
     return user;
开发者ID:chanel5e,项目名称:doubanbot,代码行数:11,代码来源:protocol.py

示例11: __setRegister

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def __setRegister(self, data: Element, sender: JID, identifier: str):
        try:
            user = sender.userhost()
            token = data.firstChildElement().firstChildElement().firstChildElement().firstChildElement().__str__()
        except Exception as e:
            # Fail registration
            print("Register reponse processing failed: " + e.__str__())
            # FIXME: Send negative response here !!!
            self.__sendIqResult(sender.full(), self.h2x.config.JID, identifier, "jabber:iq:register")
            return

        self.h2x.registerUser(user, token)

        # Send registration done
        self.__sendIqResult(sender.full(), self.h2x.config.JID, identifier, "jabber:iq:register")

        # Request subscription
        self.h2x.sendPresence(sender, "subscribe")
开发者ID:vladamatena,项目名称:h2x,代码行数:20,代码来源:iq.py

示例12: sendPresence

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
	def sendPresence(self, destination: JID, presenceType: str, status: str = None, show: str = None,
					 priority: int = None, source: JID = None, nick: str = None):
		if not source:
			source = JID(self.config.JID)
		presence = Element((None, 'presence'))
		presence.attributes['to'] = destination.userhost()
		presence.attributes['from'] = source.userhost()
		presence.attributes['type'] = presenceType
		if status:
			presence.addElement('status').addContent(status)
		if show:
			presence.addElement('show').addContent(show)
		if priority:
			presence.addElement('priority').addContent(priority)
		if nick:
			nickElement = presence.addElement('nick', content=nick)
			nickElement.attributes["xmlns"] = "http://jabber.org/protocol/nick"
		print("PresenceSend: " + source.full() + " -> " + destination.full() + " : " + presenceType)
		self.send(presence)
开发者ID:vladamatena,项目名称:h2x,代码行数:21,代码来源:h2x.py

示例13: __getVCard

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def __getVCard(self, sender: JID, recipient: JID, identifier):
        iq = Element((None, "iq"))
        iq.attributes["type"] = "result"
        iq.attributes["from"] = recipient.full()
        iq.attributes["to"] = sender.full()
        if identifier:
            iq.attributes["id"] = identifier
        vcard = iq.addElement("vCard")
        vcard.attributes["xmlns"] = "vcard-temp"

        userInfo = self.h2x.getClient(sender).getUser(recipient)

        # TODO: Get more user info
        vcard.addElement("FN", content=userInfo.full_name)
        vcard.addElement("NICKNAME", content=userInfo.full_name)
        emails = vcard.addElement("EMAIL")
        for email in userInfo.emails:
            emails.addElement("USERID", content=email)

        self.h2x.send(iq)
开发者ID:vladamatena,项目名称:h2x,代码行数:22,代码来源:iq.py

示例14: onPresence

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
	def onPresence(self, element: Element):
		sender = JID(element.getAttribute("from"))
		recipient = JID(element.getAttribute("to"))
		presenceType = element.getAttribute("type")
		if not presenceType:
			presenceType = "available"

		print("PresenceReceived: " + sender.full() + " -> " + recipient.full() + " : " + presenceType)

		# Create client instance on available from XMPP client
		if self.getClient(sender) is None:
			if presenceType == "available":
				try:
					self.addClient(ClientWrapper(self, sender))
				except UserNotRegistered as e:
					print(e)
					self.sendPresenceError(recipient=sender, sender=recipient, errorType="auth",
										   condition="registration-required")
					return
			else:
				print("Operation on client which has not yet send available presence !!! (responding as if we are not available)")
				self.sendPresence(sender, "unavailable")
				return

		# Service component presence
		if recipient == JID(self.config.JID):
			self.getClient(sender).processComponentPresence(sender, presenceType, recipient)

		# Subscription request
		elif presenceType == "subscribe":
			self.getClient(sender).processSubscription(recipient)

		# Presence to Hangouts user
		elif self.isHangUser(recipient):
			self.getClient(sender).processPresence(recipient, presenceType)

		# Unimplemented feature
		else:
			raise NotImplemented(element)
开发者ID:vladamatena,项目名称:h2x,代码行数:41,代码来源:h2x.py

示例15: forward_presence

# 需要导入模块: from twisted.words.protocols.jabber.jid import JID [as 别名]
# 或者: from twisted.words.protocols.jabber.jid.JID import full [as 别名]
    def forward_presence(self, presence):
        type = presence.getAttribute("type", "available")
        if type == "error":
            return

        entity_from = JID(presence["from"])
        entity_to = JID(presence["to"])

        new_jid_to, new_jid_from = self.get_forward_jids(presence)

        presence["to"] = new_jid_to
        presence["from"] = new_jid_from

        self.send(presence)

        if type == "subscribed":
            log.msg("Subscribed from %s" % entity_from.userhost())
            self.probe(entity_from.full(), entity_to.full())

        if type == "available" and entity_from.userhost() != self.jid_proxy_to:
            log.msg("Available from %s" % entity_from.full())
            self.probe(self.jid_proxy_to, new_jid_from)
开发者ID:tsing,项目名称:XMPP-Proxy,代码行数:24,代码来源:xmpp_protocol.py


注:本文中的twisted.words.protocols.jabber.jid.JID.full方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。