コード例 #1
0
    def setup(self):
        self.web.start(templates_path="examples")
        template1 = Template(sender="agent0@fake_server")
        template2 = Template(sender="agent1@fake_server")
        template3 = Template(sender="agent2@fake_server")
        template4 = Template(sender="agent3@fake_server")

        # Create some dummy behaviours
        dummybehav = self.DummyBehav()
        self.add_behaviour(dummybehav, template=template1)
        periodbehav = self.DummyPeriodBehav(period=12.7)
        self.add_behaviour(periodbehav, template=template2)
        timeoutbehav = self.DummyTimeoutBehav(start_at=datetime.datetime.now())
        self.add_behaviour(timeoutbehav, template=template3)
        fsm_behav = self.DummyFSMBehav()
        self.add_behaviour(fsm_behav, template=template4)
        behavs = [dummybehav, periodbehav, timeoutbehav, fsm_behav]

        # Create some fake contacts
        self.add_fake_contact("agent0@fake_server", PresenceType.AVAILABLE)
        self.add_fake_contact("agent1@fake_server",
                              PresenceType.AVAILABLE,
                              show=PresenceShow.AWAY)
        self.add_fake_contact(
            "agent2@fake_server",
            PresenceType.AVAILABLE,
            show=PresenceShow.DO_NOT_DISTURB,
        )
        self.add_fake_contact("agent3@fake_server", PresenceType.UNAVAILABLE)
        self.add_fake_contact("agent4@fake_server",
                              PresenceType.AVAILABLE,
                              show=PresenceShow.CHAT)
        self.add_fake_contact("agent5@fake_server", PresenceType.UNAVAILABLE)

        # Send and Receive some fake messages
        self.traces.reset()
        for i in range(20):
            number = random.randint(0, 3)
            from_ = JID.fromstr("agent{}@fake_server".format(number))
            msg = aioxmpp.Message(from_=from_,
                                  to=self.jid,
                                  type_=MessageType.CHAT)
            msg.body[None] = "Hello from {}! This is a long message.".format(
                from_.localpart)
            msg = Message.from_node(msg)
            msg.metadata = {
                "performative": "inform",
                "acl-representation": "xml"
            }
            msg = msg.prepare()
            self._message_received(msg=msg)
            msg = Message(sender=str(self.jid),
                          to=str(from_),
                          body="This is my answer.")
            msg.sent = True
            self.traces.append(msg, category=str(behavs[number]))
コード例 #2
0
 async def send_agent(self, request):
     agent_jid = request.match_info['agentjid']
     form = await request.post()
     body = form["message"]
     logger.info("Sending message to {}: {}".format(agent_jid, body))
     msg = Message(to=agent_jid, sender=str(self.agent.jid), body=body)
     aioxmpp_msg = msg.prepare()
     await self.agent.stream.send(aioxmpp_msg)
     msg.sent = True
     self.agent.traces.append(msg)
     raise aioweb.HTTPFound("/agent/{agentjid}/".format(agentjid=agent_jid))
コード例 #3
0
ファイル: web.py プロジェクト: javipalanca/spade
 async def send_agent(self, request):
     agent_jid = request.match_info['agentjid']
     form = await request.post()
     body = form["message"]
     logger.info("Sending message to {}: {}".format(agent_jid, body))
     msg = Message(to=agent_jid, sender=str(self.agent.jid), body=body)
     aioxmpp_msg = msg.prepare()
     await self.agent.stream.send(aioxmpp_msg)
     msg.sent = True
     self.agent.traces.append(msg)
     raise aioweb.HTTPFound("/spade/agent/{agentjid}/".format(agentjid=agent_jid))
コード例 #4
0
    async def send(self, msg: Message):
        """
        Sends a message.

        Args:
            msg (spade.message.Message): the message to be sent.
        """
        if not msg.sender:
            msg.sender = str(self.jid)
            logger.debug(f"Adding artifact's jid as sender to message: {msg}")
        aioxmpp_msg = msg.prepare()
        await self.client.send(aioxmpp_msg)
        msg.sent = True
コード例 #5
0
ファイル: web_interface.py プロジェクト: javipalanca/spade
    def setup(self):
        self.web.start(templates_path="examples")
        template1 = Template(sender="agent0@fake_server")
        template2 = Template(sender="agent1@fake_server")
        template3 = Template(sender="agent2@fake_server")
        template4 = Template(sender="agent3@fake_server")

        # Create some dummy behaviours
        dummybehav = self.DummyBehav()
        self.add_behaviour(dummybehav, template=template1)
        periodbehav = self.DummyPeriodBehav(period=12.7)
        self.add_behaviour(periodbehav, template=template2)
        timeoutbehav = self.DummyTimeoutBehav(start_at=datetime.datetime.now())
        self.add_behaviour(timeoutbehav, template=template3)
        fsm_behav = self.DummyFSMBehav()
        self.add_behaviour(fsm_behav, template=template4)
        behavs = [dummybehav, periodbehav, timeoutbehav, fsm_behav]

        # Create some fake contacts
        self.add_fake_contact("agent0@fake_server", PresenceType.AVAILABLE)
        self.add_fake_contact("agent1@fake_server", PresenceType.AVAILABLE, show=PresenceShow.AWAY)
        self.add_fake_contact("agent2@fake_server", PresenceType.AVAILABLE, show=PresenceShow.DO_NOT_DISTURB)
        self.add_fake_contact("agent3@fake_server", PresenceType.UNAVAILABLE)
        self.add_fake_contact("agent4@fake_server", PresenceType.AVAILABLE, show=PresenceShow.CHAT)
        self.add_fake_contact("agent5@fake_server", PresenceType.UNAVAILABLE)

        # Send and Receive some fake messages
        self.traces.reset()
        for i in range(20):
            number = random.randint(0, 3)
            from_ = JID.fromstr("agent{}@fake_server".format(number))
            msg = aioxmpp.Message(from_=from_, to=self.jid, type_=MessageType.CHAT)
            msg.body[None] = "Hello from {}! This is a long message.".format(from_.localpart)
            msg = Message.from_node(msg)
            msg.metadata = {"performative": "inform", "acl-representation": "xml"}
            msg = msg.prepare()
            self._message_received(msg=msg)
            msg = Message(sender=str(self.jid), to=str(from_), body="This is my answer.")
            msg.sent = True
            self.traces.append(msg, category=str(behavs[number]))