From b7dc184aac26bf4f017552d82230a6eec5326f4f Mon Sep 17 00:00:00 2001 From: burri0000 <dominik.burri@unibas.ch> Date: Wed, 14 Jul 2021 11:12:51 +0200 Subject: [PATCH] separate empty and erroneous optional field. --- workflow/Snakefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/workflow/Snakefile b/workflow/Snakefile index 8ffa423..15faefd 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -38,14 +38,17 @@ if missing: logger.error(err_msg) raise ValueError(err_msg) # Check if optional field available -if 'optional' not in config or type(config['optional']) not in [OrderedDict, dict]: - logger.info(f'No "optional" field found or no valid configuration.') +if 'optional' not in config: + logger.info(f'No "optional" section found, adding dictionary "optional" to configuration.') config['optional'] = {} +if type(config['optional']) not in [OrderedDict, dict]: + logger.error(f'No valid section "optional" supplied. Got {config["optional"]}, type: {type(config["optional"])} but require dictionary.') + raise TypeError # Check optional fields and include in config if not present for optkey, value in template_config['optional'].items(): if optkey not in config['optional']: config['optional'][optkey] = value - logger.info(f'Set default value for optional parameter "{optkey}" to : "{value}"') + logger.info(f'No value for optional parameter "{optkey}" found, set to default: "{value}"') # Parse YAML rule config file -- GitLab