Added exception handling to config.yml parsing/merging

This commit is contained in:
Dispsylala 2019-10-29 22:38:41 +00:00
parent a897e00c98
commit bcdbf41bb8

View File

@ -65,12 +65,16 @@ def load_config(args):
config = yaml.safe_load(fp) config = yaml.safe_load(fp)
# load the user config # load the user config
if os.path.exists(args.user_config): try:
with open(args.user_config) as fp: if os.path.exists(args.user_config):
user_config = yaml.safe_load(fp) with open(args.user_config) as fp:
# if the file is empty, safe_load will return None and merge_config will boom. user_config = yaml.safe_load(fp)
if user_config: # if the file is empty, safe_load will return None and merge_config will boom.
config = merge_config(user_config, config) if user_config:
config = merge_config(user_config, config)
except yaml.YAMLError as ex:
print("There was an error processing the configuration file:\n%s " % ex)
exit(1)
# the very first step is to normalize the display name so we don't need dozens of if/elif around # the very first step is to normalize the display name so we don't need dozens of if/elif around
if config['ui']['display']['type'] in ('inky', 'inkyphat'): if config['ui']['display']['type'] in ('inky', 'inkyphat'):