def update_configuration(self, cfg):
if not isinstance(cfg, AppConfiguration):
raise TypeError('cfg needs to be of type AppConfiguration')
try:
if config.league == cfg.league:
config.update(cfg)
config.save()
self.nb_cfg.onTabChange()
return
answer = messagebox.askquestion('Settings',
'Changing league will stop active scans and close other windows, continue?',
parent=self)
if answer == messagebox.NO:
return
self.close_editor_window()
self.stop_scan()
# if self.is_scan_active:
# self.stop_scan()
# ls = LoadingScreen(self)
# threading.Thread(target=self._stop_scan, args=(ls,)).start()
# self.wait_window(ls)
try:
StashScanner.clearLeagueData()
except Exception as e:
messagebox.showerror('Settings',
'Failed to clear league data.\nError: {}\n'
'Make sure all files are closed and try again.'.format(e),
parent=self)
return
config.update(cfg)
config.save()
self.init_error = None
ls = LoadingScreen(self)
Thread(target=self.init_scanner, args=(ls,)).start()
self.wait_window(ls)
self.focus_set()
self.lift()
if self.init_error:
title, message = self.init_error.args
message += '\n{}'
messagebox.showerror(title, message.format('Application will now close.'), parent=self)
self.on_close()
return
self.init_warn()
self.currency_info = CurrencyInfo()
self.filters_info = FiltersInfo()
self.nb_cfg.onTabChange()
except Exception as e:
logexception()
logger.error('Unexpected error while attempting to change league.\n{}'.format(e))
messagebox.showerror('Save error', 'Unexpected error while trying to save settings:\n{}'.format(e))
评论列表
文章目录