Exemple #1
0
def imp_controls_from_json(json_filepath=CONTROLS_FILE):
    try:
        with open(json_filepath, 'r') as f:
            contrs = json.load(f)

        query = Control.select()
        cursor = db.execute(query)

        control_fnames = [x[0] for x in cursor.fetchall()]

        for uid in contrs:
            if contrs.get("filename") not in control_fnames:
                Control.create(
                    uid=uid,
                    filename=contrs.get(uid).get("filename"),
                    title=contrs.get(uid).get("title"),
                    requirements=contrs.get(uid).get("requirements"),
                    description=contrs.get(uid).get("description"))

    except (ValueError, FileNotFoundError):
        print(
            "[{FAIL}ERR{END}] {CONTROLS_FILE} file error! Test the project (doc tests/README.md)"
            .format(FAIL=C_FAIL, END=C_END, CONTROLS_FILE=CONTROLS_FILE))
        close_program()
    else:
        print("[{OK}OK{END}]  Imported data from {CONTROLS_FILE}".format(
            OK=C_OKGREEN, END=C_END, CONTROLS_FILE=CONTROLS_FILE))
Exemple #2
0
def add_control(filename, status, time_sec):
    contrs = Control.filter(filename=filename)
    if not contrs:
        contr = Control.create(filename=filename)
        print("[{WARN}WR{END}]  Control info about {SCRIPT} not found!".format(
            WARN=C_WARNING, END=C_END, SCRIPT=filename))
    else:
        contr = contrs[0]

    Scandata.create(control=contr, status=status, lead_time_sec=time_sec)