from cylc.owner import USER from cylc.envvar import expandvars from cylc.mkdir_p import mkdir_p import cylc.flags from cylc.cfgspec.utils import coerce_interval from cylc.cfgspec.utils import coerce_interval_list from cylc.network import PRIVILEGE_LEVELS "Cylc site and user configuration file spec." coercers['interval_seconds'] = lambda *args: coerce_interval( *args, check_syntax_version=False) coercers['interval_minutes'] = lambda *args: coerce_interval( *args, back_comp_unit_factor=60, check_syntax_version=False) coercers['interval_minutes_list'] = lambda *args: coerce_interval_list( *args, back_comp_unit_factor=60, check_syntax_version=False) SPEC = { 'process pool size': vdr(vtype='integer', default=4), 'temporary directory': vdr(vtype='string'), 'state dump rolling archive length': vdr( vtype='integer', vmin=1, default=10), 'disable interactive command prompts': vdr(vtype='boolean', default=True), 'enable run directory housekeeping': vdr(vtype='boolean', default=False), 'run directory rolling archive length': vdr( vtype='integer', vmin=0, default=2), 'submission polling intervals': vdr( vtype='interval_minutes_list', default=[]), 'execution polling intervals': vdr( vtype='interval_minutes_list', default=[]),
from parsec.validate import coercers from parsec import ParsecError from parsec.upgrade import upgrader, converter from cylc.owner import USER from cylc.envvar import expandvars from cylc.mkdir_p import mkdir_p import cylc.flags from cylc.cfgspec.utils import (coerce_interval, coerce_interval_list, DurationFloat) from cylc.network import PRIVILEGE_LEVELS coercers['interval_seconds'] = lambda *args: coerce_interval( *args, check_syntax_version=False) coercers['interval_minutes'] = lambda *args: coerce_interval( *args, back_comp_unit_factor=60, check_syntax_version=False) coercers['interval_minutes_list'] = lambda *args: coerce_interval_list( *args, back_comp_unit_factor=60, check_syntax_version=False) SPEC = { 'process pool size': vdr(vtype='integer', default=4), 'temporary directory': vdr(vtype='string'), 'state dump rolling archive length': vdr(vtype='integer', vmin=1, default=10), 'disable interactive command prompts': vdr(vtype='boolean', default=True), 'enable run directory housekeeping': vdr(vtype='boolean', default=False), 'run directory rolling archive length': vdr(vtype='integer', vmin=0, default=2), 'submission polling intervals':
else: n_dig = len(upper) return [str(i).zfill(n_dig) for i in range(int(lower), int(upper) + 1)] return value coercers["cycletime"] = _coerce_cycletime coercers["cycletime_format"] = _coerce_cycletime_format coercers["cycletime_time_zone"] = _coerce_cycletime_time_zone coercers["cycleinterval"] = _coerce_cycleinterval coercers["final_cycletime"] = _coerce_final_cycletime coercers["interval"] = coerce_interval coercers["interval_minutes"] = lambda *a: coerce_interval(*a, back_comp_unit_factor=60) coercers["interval_seconds"] = coerce_interval coercers["interval_list"] = coerce_interval_list coercers["interval_minutes_list"] = lambda *a: coerce_interval_list(*a, back_comp_unit_factor=60) coercers["interval_seconds_list"] = coerce_interval_list coercers["parameter_list"] = _coerce_parameter_list SPEC = { "title": vdr(vtype="string", default=""), "description": vdr(vtype="string", default=""), "group": vdr(vtype="string", default="(ungrouped)"), "URL": vdr(vtype="string", default=""), "cylc": { "UTC mode": vdr(vtype="boolean", default=GLOBAL_CFG.get(["cylc", "UTC mode"])), "cycle point format": vdr(vtype="cycletime_format", default=None), "cycle point num expanded year digits": vdr(vtype="integer", default=0), "cycle point time zone": vdr(vtype="cycletime_time_zone", default=None), "required run mode": vdr(vtype="string", options=["live", "dummy", "simulation", ""]),
def _coerce_final_cycletime(value, keys, _): """Coerce final cycle point.""" return _strip_and_unquote(keys, value) coercers['cycletime'] = _coerce_cycletime coercers['cycletime_format'] = _coerce_cycletime_format coercers['cycletime_time_zone'] = _coerce_cycletime_time_zone coercers['cycleinterval'] = _coerce_cycleinterval coercers['final_cycletime'] = _coerce_final_cycletime coercers['interval'] = coerce_interval coercers['interval_minutes'] = lambda *a: coerce_interval( *a, back_comp_unit_factor=60) coercers['interval_seconds'] = coerce_interval coercers['interval_list'] = coerce_interval_list coercers['interval_minutes_list'] = lambda *a: coerce_interval_list( *a, back_comp_unit_factor=60) coercers['interval_seconds_list'] = coerce_interval_list SPEC = { 'title': vdr(vtype='string', default=""), 'description': vdr(vtype='string', default=""), 'URL': vdr(vtype='string', default=""), 'cylc': { 'UTC mode': vdr(vtype='boolean', default=GLOBAL_CFG.get(['cylc', 'UTC mode'])), 'cycle point format': vdr(vtype='cycletime_format', default=None), 'cycle point num expanded year digits': vdr(vtype='integer', default=0), 'cycle point time zone': vdr(vtype='cycletime_time_zone', default=None),