def RunLightFxLoop(self):
        if not self.Enabled():
            self.LogInfo('User disabled LightFx support, not initializing service.')
            return
        if not self.IsLightFxSupported():
            self.LogInfo('No DELL LightFx support available')
            return
        self.AddEffect(BackgroundLightEffect(), priority=lightfxConstants.LFX_LOWEST_PRIORITY)
        while self.state == service.SERVICE_RUNNING:
            if session.shipid:
                item = sm.GetService('godma').GetItem(session.shipid)
                if item.warpScrambleStatus > 0 and not self.HasEffect(LFX_GUID_WARPSCRAMBLE):
                    ledFx = BlinkingLedEffect()
                    ledFx.__guid__ = LFX_GUID_WARPSCRAMBLE
                    ledFx.blinkDelay = self.delay
                    ledFx.color = lightfxConstants.LFX_CYAN
                    self.AddEffect(ledFx)
            if len(self.effects) > 0:
                dirty = False
                for effect in self.effects:
                    effect[1].Update(self.delay)
                    if effect[1].Expired():
                        dirty = True
                        break

                self.effects[0][1].Render()
                if dirty:
                    self.LogInfo('Removing expired effects')
                    self.effects = [ (each[0], each[1]) for each in self.effects if each[1].Expired() == False ]
                    heapq.heapify(self.effects)
            blue.pyos.synchro.SleepWallclock(self.delay)
Beispiel #2
0
    def RunLightFxLoop(self):
        if not self.Enabled():
            self.LogInfo(
                'User disabled LightFx support, not initializing service.')
            return
        if not self.IsLightFxSupported():
            self.LogInfo('No DELL LightFx support available')
            return
        self.AddEffect(BackgroundLightEffect(),
                       priority=lightfxConstants.LFX_LOWEST_PRIORITY)
        while self.state == service.SERVICE_RUNNING:
            if session.shipid:
                item = sm.GetService('godma').GetItem(session.shipid)
                if item.warpScrambleStatus > 0 and not self.HasEffect(
                        LFX_GUID_WARPSCRAMBLE):
                    ledFx = BlinkingLedEffect()
                    ledFx.__guid__ = LFX_GUID_WARPSCRAMBLE
                    ledFx.blinkDelay = self.delay
                    ledFx.color = lightfxConstants.LFX_CYAN
                    self.AddEffect(ledFx)
            if len(self.effects) > 0:
                dirty = False
                for effect in self.effects:
                    effect[1].Update(self.delay)
                    if effect[1].Expired():
                        dirty = True
                        break

                self.effects[0][1].Render()
                if dirty:
                    self.LogInfo('Removing expired effects')
                    self.effects = [(each[0], each[1]) for each in self.effects
                                    if each[1].Expired() == False]
                    heapq.heapify(self.effects)
            blue.pyos.synchro.SleepWallclock(self.delay)
Beispiel #3
0
    def RemoveTrigger(self, trigger):
        try:
            ix = self.triggers.index(trigger)
        except ValueError:
            ix = -1

        if ix >= 0:
            del self.triggers[ix]
            heapq.heapify(self.triggers)
            self.PurgeTriggers()
            return self.UpdateRepeatTime()
Beispiel #4
0
    def RemoveTrigger(self, trigger):
        try:
            ix = self.triggers.index(trigger)
        except ValueError:
            ix = -1

        if ix >= 0:
            del self.triggers[ix]
            heapq.heapify(self.triggers)
            self.PurgeTriggers()
            return self.UpdateRepeatTime()
        self.broker.LogError('Activation::RemoveTrigger: trigger not found')
    def RemoveTrigger(self, trigger):
        try:
            ix = self.triggers.index(trigger)
        except ValueError:
            ix = -1

        if ix >= 0:
            del self.triggers[ix]
            heapq.heapify(self.triggers)
            self.PurgeTriggers()
            return self.UpdateRepeatTime()
        self.broker.LogError('Activation::RemoveTrigger: trigger not found')
Beispiel #6
0
 def _rebuild_heap(self):
     self._heap = [(v, k) for k, v in self.iteritems()]
     heapq.heapify(self._heap)
 def _rebuild_heap(self):
     self._heap = [ (v, k) for k, v in self.iteritems() ]
     heapq.heapify(self._heap)