Exemple #1
0
 def doStart(self, target):
     if target == 'same':
         real_tgt = self.read(0)
         if real_tgt == 'unknown':
             real_tgt = self._onoff[0]
         self._setROParam('target', real_tgt)
         return
     if target == 'switch':
         if self.read(0) == self._onoff[0]:
             self._setROParam('target', self._onoff[1])
             Switcher.doStart(self, self._onoff[1])
         else:
             self._setROParam('target', self._onoff[0])
             Switcher.doStart(self, self._onoff[0])
     else:
         Switcher.doStart(self, target)
Exemple #2
0
 def doIsAllowed(self, target):
     if target in ('same', 'switch'):
         return True, ''
     return Switcher.doIsAllowed(self, target)
Exemple #3
0
 def doInit(self, mode):
     Switcher.doInit(self, mode)
     self._onoff = list(self.mapping)
     self.valuetype = oneof('same', 'switch', *self._onoff)
Exemple #4
0
 def doStatus(self, maxage=0):
     st, text = Switcher.doStatus(self, maxage)
     if st == status.UNKNOWN:
         st, text = status.NOTREACHED, 'invalid flipper current'
     return st, text
Exemple #5
0
 def doStart(self, target):
     # on start, also set all configured parameters
     if target == 'on' and self.read() != 'on':
         self.transferSettings()
     Switcher.doStart(self, target)