if timeout > 0:
self.timer = eTimer()
self.timer.timeout.get().append(self.timerTick)
- self.timer.start(1000)
+ self.onExecBegin.append(self.startTimer)
self.origTitle = None
self.onShown.append(self.timerTick)
self.timerRunning = True
"leftRepeated": self.left,
"rightRepeated": self.right
}, -1)
-
-
+
+ def startTimer(self):
+ self.timer.start(1000)
+
def timerTick(self):
- self.timeout -= 1
- if self.origTitle is None:
- self.origTitle = self.instance.getTitle()
- self.setTitle(self.origTitle + " (" + str(self.timeout) + ")")
- if self.timeout == 0:
- self.timer.stop()
- self.timerRunning = False
- self.timeoutCallback()
-
+ if self.execing:
+ self.timeout -= 1
+ if self.origTitle is None:
+ self.origTitle = self.instance.getTitle()
+ self.setTitle(self.origTitle + " (" + str(self.timeout) + ")")
+ if self.timeout == 0:
+ self.timer.stop()
+ self.timerRunning = False
+ self.timeoutCallback()
+
def timeoutCallback(self):
print "Timeout!"
self.ok()