def get_expand_nonrt( fpath, template_vars, template_vars_file, do_expand=False, verbose=False, is_reload=False, write_processed_file=True): global cfg if is_reload or not cfg: cfg = parse( fpath, verbose, write_processed_file=write_processed_file, template_vars=template_vars, template_vars_file=template_vars_file ) u = upgrader( cfg, SPEC, 'suite definition', verbose ) u.deprecate( '5.2.0', ['cylc','event handler execution'], ['cylc','event handler submission'] ) u.upgrade() validate( cfg, SPEC ) # load defaults for everything except [runtime] # (keep runtime sparse for efficient inheritance) for key,val in SPEC.items(): if isinstance(val,dict): if key != 'runtime': # all main sections except for runtime if key not in cfg: cfg[key] = {} # TODO - ordered dict? cfg[key] = expand( cfg[key], SPEC[key] ) else: # top level (no section) items if key not in cfg: cfg[key] = val.args['default'] return cfg
def get_expand_nonrt(fpath, template_vars, template_vars_file, do_expand=False, verbose=False, is_reload=False, write_processed_file=True): global cfg if is_reload or not cfg: cfg = parse(fpath, verbose, write_processed_file=write_processed_file, template_vars=template_vars, template_vars_file=template_vars_file) u = upgrader(cfg, SPEC, 'suite definition', verbose) u.deprecate('5.2.0', ['cylc', 'event handler execution'], ['cylc', 'event handler submission']) u.upgrade() validate(cfg, SPEC) # load defaults for everything except [runtime] # (keep runtime sparse for efficient inheritance) for key, val in SPEC.items(): if isinstance(val, dict): if key != 'runtime': # all main sections except for runtime if key not in cfg: cfg[key] = {} # TODO - ordered dict? cfg[key] = expand(cfg[key], SPEC[key]) else: # top level (no section) items if key not in cfg: cfg[key] = val.args['default'] return cfg
def expand( self ): "Flesh out undefined items with defaults, if any, from the spec." if not self.dense: self.dense = expand( self.sparse, self.spec )
def expand(self): "Flesh out undefined items with defaults, if any, from the spec." if not self.dense: self.dense = expand(self.sparse, self.spec)