Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
 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 )
Beispiel #4
0
 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)