Exemple #1
0
   def handle_DATA(self,msg):
       global connections
       failed_recipients=[]

       m=QueryParser(msg)
       recipients=m.getUsers()
       data=m.getReply()
       sensors=m.getSensors()
       cmds=m.getCmds()
       '''
       print "R->",recipients
       print "D->",data
       print "S->",sensors
       print "C->",cmds.keys()
       '''
       for recipient in recipients:
         if self.is_connected(recipient):
            if "DATA" in cmds.keys() or "ERR" in cmds.keys():
               connections[recipient].sendMessage("@"+self.user+" "+data,False)
            elif "GET" in cmds.keys() or "PUT" in cmds.keys():
                if self.is_allow(recipient,sensors):
                   connections[recipient].sendMessage("@"+self.user+" "+data,False)
                else:failed_recipients.append(recipient)
            else:failed_recipients.append(recipient)
         else:failed_recipients.append(recipient)

       if len(failed_recipients)==0:
          self.sendMessage("Done",False)
       else:
          self.sendMessage("Failed:"+str(failed_recipients),False)