def onShow(self, tunerstates): if config.infobartunerstate.plugin_pip.enabled.value: if not self.tunerstate: self.tunerstate = self.checkPiP() else: from Screens.InfoBar import InfoBar if InfoBar.instance and InfoBar.instance.session and hasattr( InfoBar.instance.session, "pip") == False: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.removeEntry("PiP")
def onShow(self, tunerstates): if config.infobartunerstate.plugin_timers.enabled.value: number_pending_timers = int( config.infobartunerstate.plugin_timers.number_pending_timers.value ) #log.debug( "IBTS number_pending_timers", number_pending_timers ) toremove = self.nextids[:] if number_pending_timers: pending_seconds = int( config.infobartunerstate.plugin_timers.pending_hours.value ) * 3600 pending_limit = (time() + pending_seconds) if pending_seconds else 0 #log.debug( "IBTS pending_limit", pending_limit ) timer_end = 0 timer_list = getNextPendingRecordTimers(pending_limit)[:] #pprint.pprint(timer_list) if timer_list: #timer_list.reverse() for i, timer in enumerate(timer_list): if i>=number_pending_timers+timer_end: break if timer: id = getTimerID( timer ) #log.debug( "IBTS toadd", id ) if id in toremove: toremove.remove(id) # Only add timer if not recording from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if gInfoBarTunerState.hasEntry(id): # Delete references to avoid blocking tuners del timer else: name = timer.name servicereference = timer.service_ref # if ((name=="Ausschalten")or(name=="Einschalten")or(name=="Standby"))and(config.infobartunerstate.plugin_timers.show_energy_timers.value==False): # isset zapbeforerecord="0" justremind="0" wakeup_t="0" shutdown_t="0" notify_t="0" standby_t="1" if (str(servicereference)[0]=="-")and(config.infobartunerstate.plugin_timers.show_energy_timers.value==False): timer_end+=1 else: # Is this really necessary? try: timer.Filename except: timer.calculateFilename() try: filename = timer.Filename except: filename = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Delete references to avoid blocking tuners del timer number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) reference = str(servicereference) self.nextids.append(id) gInfoBarTunerState.addEntry(id, self.getPluginName(), self.getType(), self.getText(), "", "", None, name, number, channel, reference, begin, end, endless, filename) # Close all not touched next timers if toremove: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: log.debug( "IBTS toremove" ) #pprint.pprint(toremove) for id in toremove: log.debug( "IBTS timers toremove", id ) if id in self.nextids: self.nextids.remove(id) gInfoBarTunerState.removeEntry(id)
def onShow(self, tunerstates): if config.infobartunerstate.plugin_timers.enabled.value: number_pending_timers = int(config.infobartunerstate.plugin_timers.number_pending_timers.value) # print "IBTS number_pending_timers", number_pending_timers toremove = self.nextids[:] if number_pending_timers: pending_seconds = int(config.infobartunerstate.plugin_timers.pending_hours.value) * 3600 pending_limit = (time() + pending_seconds) if pending_seconds else 0 # print "IBTS pending_limit", pending_limit timer_list = getNextPendingRecordTimers(pending_limit)[:number_pending_timers] if timer_list: timer_list.reverse() for i, timer in enumerate(timer_list): if timer: id = getTimerID(timer) # print "IBTS toadd", id # Only add timer if not recording from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if gInfoBarTunerState.hasEntry(id): # Delete references to avoid blocking tuners del timer else: name = timer.name servicereference = timer.service_ref # Is this really necessary? try: timer.Filename except: timer.calculateFilename() try: filename = timer.Filename except: filename = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Delete references to avoid blocking tuners del timer number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) self.nextids.append(id) gInfoBarTunerState.addEntry( id, self.getPluginName(), self.getType(), self.getText(), "", "", None, name, number, channel, begin, end, endless, filename, ) if id in toremove: toremove.remove(id) # Close all not touched next timers if toremove: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: # print "IBTS toremove" for id in toremove: # print "IBTS toremove", id if id in self.nextids: self.nextids.remove(id) gInfoBarTunerState.removeEntry(id)
def update(self, id, tunerstate): if config.infobartunerstate.plugin_pip.enabled.value: remove = True if tunerstate: from Screens.InfoBar import InfoBar if InfoBar.instance and InfoBar.instance.session: if hasattr(InfoBar.instance.session, "pip"): pip = InfoBar.instance.session.pip eservicereference = None if hasattr(pip, "currentService"): eservicereference = pip.currentService if eservicereference: log.debug("IBTS PiP update service") remove = False changed = False eservicereference_string = str(eservicereference) # Avoid recalculations if self.eservicereference_string != eservicereference_string: tunerstate.number = None tunerstate.channel = "" tunerstate.reference = "" tunerstate.tuner, tunerstate.tunertype, tunerstate.tunernumber = "", "", None tunerstate.name, tunerstate.begin, tunerstate.end = "", 0, 0 self.eservicereference_string = eservicereference_string if not tunerstate.number: tunerstate.number = getNumber( eservicereference) changed = True if not tunerstate.channel: tunerstate.channel = getChannel( eservicereference) changed = True if not tunerstate.reference: tunerstate.reference = eservicereference_string changed = True iplayableservice = None if hasattr(pip, "pipservice"): iplayableservice = pip.pipservice #if hasattr(pip, "getCurrentServiceReference"): # iplayableservice = pip.getCurrentServiceReference() log.debug("IBTS PiP update iPlay", str(iplayableservice)) if iplayableservice: if not tunerstate.tuner or not tunerstate.tunertype or not tunerstate.tunernumber: tunerstate.tuner, tunerstate.tunertype, tunerstate.tunernumber = getTunerByPlayableService( iplayableservice) changed = True if not tunerstate.name or not tunerstate.begin or not tunerstate.end: tunerstate.name, tunerstate.begin, tunerstate.end = getEventData( iplayableservice) changed = True if changed: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.updateMetrics() if remove: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: gInfoBarTunerState.removeEntry(id) return False else: return True
def onShow(self, tunerstates): if config.infobartunerstate.plugin_timers.enabled.value: number_pending_timers = int(config.infobartunerstate.plugin_timers. number_pending_timers.value) #print "IBTS number_pending_timers", number_pending_timers toremove = self.nextids[:] if number_pending_timers: pending_seconds = int(config.infobartunerstate.plugin_timers. pending_hours.value) * 3600 pending_limit = (time() + pending_seconds) if pending_seconds else 0 #print "IBTS pending_limit", pending_limit timer_list = getNextPendingRecordTimers( pending_limit)[:number_pending_timers] if timer_list: timer_list.reverse() for i, timer in enumerate(timer_list): if timer: id = getTimerID(timer) #print "IBTS toadd", id # Only add timer if not recording from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: if gInfoBarTunerState.hasEntry(id): # Delete references to avoid blocking tuners del timer else: name = timer.name servicereference = timer.service_ref # Is this really necessary? try: timer.Filename except: timer.calculateFilename() try: filename = timer.Filename except: filename = timer.name begin = timer.begin end = timer.end endless = timer.autoincrease # Delete references to avoid blocking tuners del timer number = getNumber(servicereference.ref) channel = getChannel(servicereference.ref) self.nextids.append(id) gInfoBarTunerState.addEntry( id, self.getPluginName(), self.getType(), self.getText(), "", "", None, name, number, channel, begin, end, endless, filename) if id in toremove: toremove.remove(id) # Close all not touched next timers if toremove: from Plugins.Extensions.InfoBarTunerState.plugin import gInfoBarTunerState if gInfoBarTunerState: #print "IBTS toremove" for id in toremove: #print "IBTS toremove", id if id in self.nextids: self.nextids.remove(id) gInfoBarTunerState.removeEntry(id)