workaround corruzzione settings.xml
This commit is contained in:
@@ -72,9 +72,19 @@ def run(item=None):
|
||||
else:
|
||||
item = Item(channel="channelselector", action="getmainlist", viewmode="movie")
|
||||
if not config.get_setting('show_once'):
|
||||
from platformcode import xbmc_videolibrary
|
||||
xbmc_videolibrary.ask_set_content(silent=False)
|
||||
config.set_setting('show_once', True)
|
||||
if not config.get_all_settings_addon():
|
||||
logger.error('corrupted settings.xml!!')
|
||||
settings_xml = os.path.join(config.get_data_path(), "settings.xml")
|
||||
settings_bak = os.path.join(config.get_data_path(), "settings.bak")
|
||||
if filetools.exists(settings_bak):
|
||||
filetools.copy(settings_bak, settings_xml, True)
|
||||
logger.info('restored settings.xml from backup')
|
||||
else:
|
||||
filetools.write(settings_xml, '<settings version="2">\n</settings>') # resetted settings
|
||||
else:
|
||||
from platformcode import xbmc_videolibrary
|
||||
xbmc_videolibrary.ask_set_content(silent=False)
|
||||
config.set_setting('show_once', True)
|
||||
|
||||
logger.info(item.tostring())
|
||||
|
||||
|
||||
@@ -326,6 +326,9 @@ class AddonMonitor(xbmc.Monitor):
|
||||
def onSettingsChanged(self):
|
||||
logger.debug('settings changed')
|
||||
settings_post = config.get_all_settings_addon()
|
||||
if settings_post: # backup settings
|
||||
filetools.copy(os.path.join(config.get_data_path(), "settings.xml"),
|
||||
os.path.join(config.get_data_path(), "settings.bak"), True)
|
||||
from platformcode import xbmc_videolibrary
|
||||
|
||||
if self.settings_pre.get('downloadpath', None) != settings_post.get('downloadpath', None):
|
||||
|
||||
Reference in New Issue
Block a user