def saveSettings(self): self.togglePopUp(True) print "saved" for x in self["config"].list: if x == self.autoUpdateTime: alarm = setWecker(x[1].value) config.plugins.skyrecorder.next_update.value = alarm config.plugins.skyrecorder.next_update.save() x[1].save() configfile.save() #config.save() self.changeTimer() if self.tempTimer: self.tempTimer.stop() # again, lets try to build the dirtree for our recordings retval = self.buildDirTree(config.plugins.skyrecorder.anytimefolder.value) if not retval: self.session.open(MessageBox, _("{0}\nKonnte den Verzeichnisbaum für die Aufnahmen nicht erstellen.".format(pluginName)), MessageBox.TYPE_INFO, timeout=-1) self.close()
def saveSettings(self): self.togglePopUp(True) print "saved" for x in self["config"].list: if x == self.autoUpdateTime: alarm = setWecker(x[1].value) config.plugins.skyrecorder.next_update.value = alarm #config.plugins.skyrecorder.next_update.save_forced = True config.plugins.skyrecorder.next_update.save() #x[1].save_forced = True x[1].save() config.plugins.skyrecorder.pluginname.save_forced = True config.plugins.skyrecorder.pluginname.save() config.plugins.skyrecorder.version.save_forced = True config.plugins.skyrecorder.version.save() config.plugins.skyrecorder.skydb.save_forced = True config.plugins.skyrecorder.skydb.save() config.save() configfile.save() self.changeTimer() if self.tempTimer: self.tempTimer.stop() # again, lets try to build the dirtree for our recordings retval = self.buildDirTree( config.plugins.skyrecorder.anytimefolder.value ) and self.buildDirTree( config.plugins.skyrecorder.anytimefolder3d.value) if not retval: self.session.open( MessageBox, _("{0}\nKonnte den Verzeichnisbaum für die Aufnahmen nicht erstellen." .format(pluginName)), MessageBox.TYPE_INFO, timeout=-1) self.close()
def start(self,oneShot=False): self.oneShot = oneShot if not checkForInternet(): return # update refresh timerinterval now if config.plugins.skyrecorder.autoupdate_database.value: try: if self.refreshTimer: if config.plugins.skyrecorder.database_update_time and config.plugins.skyrecorder.database_update_time.value: alarm = setWecker(config.plugins.skyrecorder.database_update_time.value, True) # be sure we shift one day else: alarm = setWecker([6,0], True) # be sure we shift one day config.plugins.skyrecorder.next_update.value = alarm config.plugins.skyrecorder.next_update.save() configfile.save() interval = int(config.plugins.skyrecorder.next_update.value) - getCurrentTimestamp() self.refreshTimer.stop() self.refreshTimer.startLongTimer(interval) except Exception: sys.exc_clear() if self.oneShot or config.plugins.skyrecorder.autoupdate_database.value: msg_log = "[skyrecorder] aktualisiere Datenbank..." print msg_log self.addLog(msg_log) try: sql.cur.execute('SELECT SQLITE_VERSION()') except Exception: sys.exc_clear() try: sql.connect() except Exception: self.IS_RUNNING = False return # first clean up old files msg_log = "[skyrecorder] entferne alte Eintraege..." print msg_log self.addLog(msg_log) n = sql.deleteEvents(getCurrentTimestamp()) if n == 1: msg_log = "[skyrecorder] {0} Eintrag geloescht".format(n) else: msg_log = "[skyrecorder] {0} Eintraege geloescht".format(n) print msg_log self.addLog(msg_log) self.IS_RUNNING = True try: sql.cur.execute('SELECT SQLITE_VERSION()') except Exception: sys.exc_clear() try: sql.connect() except Exception: self.IS_RUNNING = False return self.station_id = -1 self.last_station_idx = 0 self.SkyStations = self.getSkyStations() self.maxStationLoop = len(self.SkyStations) - 1 # start here try: self.getCookie() except Exception, e: msg_log = "ERROR: {0}".format(e) print msg_log self.addLog(msg_log)
def __init__(self, session, oneShot = False): # singleton class - needed to call it at sessionstart SkyGetTvGuide.instance = self self.session = session self.oneShot = oneShot self.IS_RUNNING = False self.nonHDeventList = nonHDeventList() self.sky_chlist = buildSkyChannellist() self.agent = getUserAgent() self.headers = getHttpHeader() self.headersJSON = getHttpHeaderJSON() self.headers1 = getHttpHeader1() # update current agent for the header, too self.headers.update({'User-Agent': self.agent}) self.headers1.update({'User-Agent': self.agent}) self.headersJSON.update({'User-Agent': self.agent}) self.pluginName = config.plugins.skyrecorder.pluginname.value self.ck = {} self.sky_log_path = "/usr/lib/enigma2/python/Plugins/Extensions/skyrecorder/sky_log" if self.oneShot and config.plugins.skyrecorder.autoupdate_database.value: # do we really need a new update right now? checktime = getCurrentTimestamp() nextcheck = checktime lastcheck = checktime try: lastcheck = int(config.plugins.skyrecorder.lastchecked.value) nextcheck = int(config.plugins.skyrecorder.next_update.value) except Exception: sys.exc_clear() if ((checktime + 300) >= nextcheck) and (lastcheck < nextcheck): # 5 minutes buffer should be ok, because the STB is starting to fast, sometimes print "[skyrecorder] timer AutotimerCheck gesetzt" # be sure we got a new timestamp, even something went wrong config.plugins.skyrecorder.lastchecked.value = checktime config.plugins.skyrecorder.lastchecked.save() # set new wecker for our timer if config.plugins.skyrecorder.database_update_time and config.plugins.skyrecorder.database_update_time.value: alarm = setWecker(config.plugins.skyrecorder.database_update_time.value, True) # be sure we shift one day else: alarm = setWecker([6,0], True) # be sure we shift one day config.plugins.skyrecorder.next_update.value = alarm config.plugins.skyrecorder.next_update.save() configfile.save() # let us start it right now. needed for wakMeUp function self.tempTimer = None self.tempTimer = eTimer() self.tempTimer.callback.append(self.start(self.oneShot)) self.tempTimer.start(5000, True) # give us some time to breath, before we start # set the timer for the next update now if config.plugins.skyrecorder.autoupdate_database.value: self.refreshTimer = None self.refreshTimer = eTimer() self.refreshTimer.callback.append(self.start) if config.plugins.skyrecorder.next_update and config.plugins.skyrecorder.lastchecked: interval = int(config.plugins.skyrecorder.next_update.value) - getCurrentTimestamp() if interval > 60 and interval <= 5184000: # 60 seconds buffer, but lower or equal than 1 day #self.timerinterval = interval * 1000 # milliseconds #self.refreshTimer.start(self.timerinterval) self.timerinterval = interval self.refreshTimer.startLongTimer(self.timerinterval)