Ejemplo n.º 1
0
 def checkStatus(self):
     today = datetime.datetime.now()
     todayCheck = today.strftime("%d-%m-%Y")
     initialTime = self.initialTime
     logEntry = 'Checking for incoming missiles...\n'
     self.updateLog(logEntry)
     txCommand = {
         "command": "findTransactions",
         "addresses": [self.fleetAddress]
     }
     findTx = json.dumps(txCommand)
     headers = {
         'content-type': 'application/json',
         'X-IOTA-API-Version': '1'
     }
     try:
         requestFindTx = requests.post(url=self.nodeURL,
                                       data=findTx,
                                       headers=headers)
         jsonDataTx = json.loads(requestFindTx.text)
         tryteCommand = {
             "command": "getTrytes",
             "hashes": jsonDataTx['hashes']
         }
     except:
         messagebox.showinfo("Error", "The address is invalid!")
     findTrytes = json.dumps(tryteCommand)
     requestTrytes = requests.post(url=self.nodeURL,
                                   data=findTrytes,
                                   headers=headers)
     jsonDataTrytes = json.loads(requestTrytes.content)
     for item in jsonDataTrytes['trytes']:
         tryteString = TryteString(item).decode(errors='ignore',
                                                strip_padding=False)
         head = tryteString.split(';')
         content = head[0].split(',')
         for data in content:
             if data == todayCheck:
                 if datetime.datetime.strptime(
                         content[3],
                         '%H:%M:%S') >= datetime.datetime.strptime(
                             initialTime, '%H:%M:%S'):
                     self.incomingTime.append(content[3])
                     if len(self.incomingTime) > 1:
                         if len(set(self.incomingTime)) == self.session:
                             if datetime.datetime.strptime(
                                     content[3], '%H:%M:%S'
                             ) == datetime.datetime.strptime(
                                     max(set(self.incomingTime)),
                                     '%H:%M:%S'):
                                 self.session += 1
                                 self.displayIncoming(
                                     content[0], content[1])
                                 self.displayHitResponse(
                                     content[4], content[5], content[6])
                                 break
                     else:
                         self.session += 1
                         self.displayIncoming(content[0], content[1])