diff service/arduinoNode/arduinoNode.py @ 1148:8b4eda2cf0bd

fix pushconfig Ignore-this: 36fd12eb507fbe027b9a00dbd78f13af darcs-hash:a89764f2ad7791417d7c68d6ba30df92be97fe2c
author drewp <drewp@bigasterisk.com>
date Sat, 14 Apr 2018 23:46:54 -0700
parents f349fe25789c
children 12f9f1838fb5
line wrap: on
line diff
--- a/service/arduinoNode/arduinoNode.py	Wed Apr 04 14:58:27 2018 -0700
+++ b/service/arduinoNode/arduinoNode.py	Sat Apr 14 23:46:54 2018 -0700
@@ -54,7 +54,6 @@
         self.boards = []
         self.reread()
 
-        self.rereadLater = None
         deferToThread(self.watchEtcd)
 
     def watchEtcd(self):
@@ -65,12 +64,16 @@
             reactor.callFromThread(self.configChanged)
 
     def configChanged(self):
-        if self.rereadLater:
-            self.rereadLater.cancel()
+        self.cancelRead()
         self.rereadLater = reactor.callLater(.1, self.reread)
 
+    def cancelRead(self):
+        if getattr(self, 'rereadLater', None):
+            self.rereadLater.cancel()
+        self.rereadLater = None
+        
     def reread(self):
-        self.rereadLater = None
+        self.cancelRead()
         log.info('read config')
         self.configGraph = ConjunctiveGraph()
         for v, md in etcd.get_prefix(self.etcPrefix):