Skip to content

Commit

Permalink
[EPG] Add option to delete EPG cache in cases of corruption. Accessed…
Browse files Browse the repository at this point in the history
… via EPG Load/Save menu.
  • Loading branch information
Huevos committed Dec 27, 2014
1 parent 5039129 commit 3e2db4e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 3 deletions.
19 changes: 17 additions & 2 deletions data/menu.xml
Expand Up @@ -51,7 +51,7 @@
<menu level="2" text="EPG" entryID="epg_menu">
<id val="epg"/>
<item level="0" entryID="epg_setup"><setup id="epgsettings"/></item>
<menu level="2" text="Load/Save" entryID="epgloadsave_menu">
<menu level="2" text="Load/SaveDelete" entryID="epgloadsave_menu">
<id val="epgloadsave_menu"/>
<item level="0" entryID="saveepgcache" text="Save EPG">
<code>
Expand All @@ -73,6 +73,21 @@ def msgClosed(ret):
epgcache = eEPGCache.getInstance()
epgcache.load()
self.session.openWithCallback(msgClosed, EpgLoadMsg)
</code>
</item>
<item level="0" entryID="deleteepgcache" text="Delete EPG">
<code>
from Components.EpgLoadSave import EpgDeleteMsg
def msgClosed(ret):
if ret:
import os
from Components.config import config
if os.path.exists(config.misc.epgcache_filename.value):
os.remove(config.misc.epgcache_filename.value)
from enigma import eEPGCache
epgcache = eEPGCache.getInstance()
epgcache.flushEPG()
self.session.openWithCallback(msgClosed, EpgDeleteMsg)
</code>
</item>
</menu>
Expand Down Expand Up @@ -122,7 +137,7 @@ self.session.open(SABnzbdSetupScreen)
<item level="2" text="uShare setup" entryID="netushare_setup"><screen module="NetworkSetup" screen="NetworkuShare"/></item>
</menu>
<item level="1" entryID="onlineupdate_setup"><setup id="softwareupdate"/></item>
<item level="0" text="Recording and playback settings" entryID="recording_setup"><screen module="Recordings" screen="RecordingSettings"/></item>
<item level="0" text="Recording settings" entryID="recording_setup"><screen module="Recordings" screen="RecordingSettings"/></item>
<item level="1" entryID="rfmod_setup" requires="RfModulator"><setup id="RFmod"/></item>
<menu level="0" text="Storage devices" entryID="hardisk_selection" requires="Harddisk">
<id val="harddisk"/>
Expand Down
2 changes: 1 addition & 1 deletion lib/dvb/epgcache.h
Expand Up @@ -329,7 +329,6 @@ class eEPGCache: public eMainloop, private eThread, public Object
#endif
void sectionRead(const uint8_t *data, int source, channel_data *channel);
void gotMessage(const Message &message);
void flushEPG(const uniqueEPGKey & s=uniqueEPGKey());
void cleanLoop();

// called from main thread
Expand All @@ -350,6 +349,7 @@ class eEPGCache: public eMainloop, private eThread, public Object
void save();
void load();
void timeUpdated();
void flushEPG(const uniqueEPGKey & s=uniqueEPGKey());
#ifndef SWIG
eEPGCache();
~eEPGCache();
Expand Down
5 changes: 5 additions & 0 deletions lib/python/Components/EpgLoadSave.py
Expand Up @@ -108,3 +108,8 @@ class EpgLoadMsg(MessageBox):
def __init__(self, session):
MessageBox.__init__(self, session, _("Are you sure you want to reload the EPG data from:\n") + config.misc.epgcache_filename.value, MessageBox.TYPE_YESNO)
self.skinName = "MessageBox"

class EpgDeleteMsg(MessageBox):
def __init__(self, session):
MessageBox.__init__(self, session, _("Are you sure you want to delete the EPG data from:\n") + config.misc.epgcache_filename.value, MessageBox.TYPE_YESNO, default=False)
self.skinName = "MessageBox"

0 comments on commit 3e2db4e

Please sign in to comment.