Make sure we honour config_api.load_autoconfig even with errors
We don't raise ConfigFileErrors inside read_config_py so we can get back the config_api object. Instead we raise it in config.init().
This commit is contained in:
parent
5efce10c2c
commit
bb648b62f3
@ -660,15 +660,19 @@ def init(parent=None):
|
|||||||
objreg.register('config-commands', config_commands)
|
objreg.register('config-commands', config_commands)
|
||||||
|
|
||||||
global _errbox
|
global _errbox
|
||||||
|
config_api = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
config_api = configfiles.read_config_py()
|
config_api = configfiles.read_config_py()
|
||||||
|
# Raised here so we get the config_api back.
|
||||||
|
if config_api.errors:
|
||||||
|
raise configexc.ConfigFileErrors('config.py', config_api.errors)
|
||||||
except configexc.ConfigFileErrors as e:
|
except configexc.ConfigFileErrors as e:
|
||||||
_errbox = msgbox.msgbox(parent=None,
|
_errbox = msgbox.msgbox(parent=None,
|
||||||
title="Error while reading config",
|
title="Error while reading config",
|
||||||
text=e.to_html(),
|
text=e.to_html(),
|
||||||
icon=QMessageBox.Warning,
|
icon=QMessageBox.Warning,
|
||||||
plain_text=False)
|
plain_text=False)
|
||||||
config_api = None
|
|
||||||
else:
|
else:
|
||||||
_errbox = None
|
_errbox = None
|
||||||
|
|
||||||
|
@ -193,9 +193,6 @@ def read_config_py(filename=None):
|
|||||||
exception=e, traceback=traceback.format_exc()))
|
exception=e, traceback=traceback.format_exc()))
|
||||||
|
|
||||||
api.finalize()
|
api.finalize()
|
||||||
if api.errors:
|
|
||||||
raise configexc.ConfigFileErrors(basename, api.errors)
|
|
||||||
|
|
||||||
return api
|
return api
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user