示例#1
0
    def checkRadioRegisteration(self, msg, rmsg, timeval):
        r = self.Radios.checkIP(msg.sourceIP, return_type=Radio.object)
        print("%s: msg: %s  recived from %s return port %s" %
              (timeval, msg.command(), msg.sourceIP, msg.sourcePort))
        if r == None:
            r = Radio(RadioIP=msg.sourceIP, RadioIDtext=msg.RadioID(0))
            self.Radios.append(r)

            print("Radio %s with IP address %s add to List of Active Radios" %
                  (r.RadioIDtext(0), r.RadioIP(0)))
            rmsg.set_extra(rmsg.extra(0) + " Added to list of Active Radios")
        if r.SignedIn() == False:
            print("Radio %s not sign in with user!")
            rmsg.set_extra(rmsg.extra(0) + " Please Sign radio in!")

        return rmsg
示例#2
0
    def checkID(self, RID, return_type=Radio.object):
        i = 0
        for o in self.Radios:
            if o.ID==RID:
                if return_type==Radio.index:
                    return i
                elif return_type==Radio.object:
                    return o
                elif return_type==Radio.IP:
                    return o.IP
                elif return_type==Radio.Name:
                    return o.Name
            i += 1
        return None

    def sort(self):
        self.Radios = sorted(self.Radios, key=self.sort_key_Radio_ID)

    def sort_key_Radio_ID(self, i):
        return i._RadioID

if __name__ == "__main__":
    R = Radios()
    r = Radio(RadioID='PR0001', RadioIP='192.168.1.17')
    i =0
    while i<4:
        if R.checkIP(r.RadioIP())==None:
            R.append(r)
        i += 1
    print(len(R))
    print("Done")