diff --git a/JsonOutput/JsonOutput.py b/JsonOutput/JsonOutput.py index 926891d..78bd152 100644 --- a/JsonOutput/JsonOutput.py +++ b/JsonOutput/JsonOutput.py @@ -1,6 +1,7 @@ import yaml import json import os +import logging RMMDIR = './RMMs' OUTDIR = './ci-output' @@ -8,6 +9,7 @@ rmms = {} for filename in os.listdir(RMMDIR): + logging.warning('Processing RMM: %s', filename) file = os.path.join(RMMDIR, filename) if os.path.isfile(file): with open(file, 'r') as f: @@ -18,5 +20,5 @@ if not os.path.exists(OUTDIR): os.mkdir(OUTDIR) with open(OUTFILE, 'w') as f: - f.write(json.dumps(rmms, indent=2)) + f.write(json.dumps(rmms, indent=2, default=str)) diff --git a/Validator/_validate_yml.py b/Validator/_validate_yml.py index 64b3b76..d21d095 100644 --- a/Validator/_validate_yml.py +++ b/Validator/_validate_yml.py @@ -2,6 +2,7 @@ import sys import os import datetime +import json RMMDIR = './RMMs' OSES = ['Windows','MacOS','Linux'] @@ -74,6 +75,12 @@ def check_meta(r, meta): if not isinstance(meta['References'], list): ERRORS.append(f"References on {r} isn't a list") +def check_serialize(r, rmm_test): + try: + _jout = json.dumps(rmm_test, indent=2, default=str) + except Exception as ex: # pylint: disable=broad-except + ERRORS.append(f'Couldnt JSON serialize RMM: {r}! Exception: {ex}') + IDs = set() for filename in os.listdir(RMMDIR): @@ -107,6 +114,7 @@ def check_meta(r, meta): check_executables(rmm_name, rmm['Executables']) check_netconn(rmm_name, rmm['NetConn']) check_meta(rmm_name, rmm['Meta']) + check_serialize(rmm_name, rmm) if len(ERRORS) == 0: sys.exit(0) else: