Browse Source

fixed logic erros

develop
Roel 10 years ago
parent
commit
e1a198bea1
  1. 18
      main.py

18
main.py

@ -66,7 +66,11 @@ class Meshenger:
print 'Checking age of foreign node index'
print self.devices[device], 'Foreign announce timestamp'
foreign_node_update = open(nodeupdatepath).read()
try:
foreign_node_update = open(nodeupdatepath).read()
except:
foreign_node_update = 0 #means it was never seen before
self.node_timestamp(device)
print foreign_node_update, 'Locally stored timestamp for device'
@ -80,8 +84,8 @@ class Meshenger:
time.sleep(5) #free process or ctrl+c
def node_timestamp(self, ip):
updatepath = os.path.join(self.ip_to_hash_path(ip), 'lastupdate')
nodepath = os.path.abspath('nodes', self.hasj(ip))
updatepath = os.path.join(nodepath, 'lastupdate')
with open(updatepath, 'wb') as lastupdate:
lastupdate.write(self.devices[ip])
#return updatepath
@ -113,14 +117,14 @@ Discover other devices by listening to the Meshenger announce port
while not self.exitapp:
result = select.select([s],[],[])[0][0].recvfrom(bufferSize)
ip = result[1][0]
if os.path.exists(self.ip_to_hash_path(ip)) and ip != self.own_ip:
node_path = os.path.join(os.path.abspath('nodes'), self.hasj(ip))
if os.path.exists(node_path) and ip != self.own_ip:
print 'Known node', ip
self.devices[ip] = result[0]
self.node_timestamp(ip) #klopt dit?
#self.node_timestamp(ip) #klopt dit? ##
#self.devices.append(ip)
elif not os.path.exists(self.ip_to_hash_path(ip)) and ip != self.own_ip:
elif not os.path.exists(node_path) and ip != self.own_ip:
#loop for first time
self.ip_to_hash_path(ip)
self.devices[ip] = result[0]

Loading…
Cancel
Save