in lib/job_outcome.py [0:0]
def _get_outcome_table_job_decider(args, return_code, timeout_reached):
if args.outcome_table:
_, ext = os.path.splitext(args.outcome_table)
with open(args.outcome_table) as handle:
if ext == ".json":
outcome_table = json.load(handle)
elif ext == ".yaml":
import yaml
outcome_table = yaml.safe_load(handle)
else:
raise UserWarning("Unsupported outcome table format (%s)" % ext)
loaded_from_file = True
else:
loaded_from_file = False
outcome_table = _get_default_outcome_dict(args)
logging.debug("Using outcome table: %s", json.dumps(outcome_table, indent=2))
lib.validation.validate_outcome_table(outcome_table)
return OutcomeTableDecider(
outcome_table, return_code, timeout_reached,
loaded_from_file=loaded_from_file)