Merge pull request #465 from dipsylala/master

Added exception handling to config.yml parsing
This commit is contained in:
evilsocket 2019-10-30 11:59:23 +01:00 committed by GitHub
commit 03b85ac66b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View File

@ -65,12 +65,16 @@ def load_config(args):
config = yaml.safe_load(fp)
# load the user config
if os.path.exists(args.user_config):
with open(args.user_config) as fp:
user_config = yaml.safe_load(fp)
# if the file is empty, safe_load will return None and merge_config will boom.
if user_config:
config = merge_config(user_config, config)
try:
if os.path.exists(args.user_config):
with open(args.user_config) as fp:
user_config = yaml.safe_load(fp)
# if the file is empty, safe_load will return None and merge_config will boom.
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
if config['ui']['display']['type'] in ('inky', 'inkyphat'):

View File

@ -87,8 +87,7 @@ def append_images(images, horizontal=True, xmargin=0, ymargin=0):
def main():
parser = argparse.ArgumentParser(description="This program emulates\
the pwnagotchi display")
parser.add_argument('--displays', help="Which displays to use.", nargs="+",
default="waveshare_2")
parser.add_argument('--displays', help="Which displays to use.", nargs="+", default=["waveshare_2"])
parser.add_argument('--lang', help="Language to use",
default="en")
parser.add_argument('--output', help="Path to output image (PNG)", default="preview.png")