Exemple #1
0
    def observer(c, broker):
        if ignore_hidden and dr.is_hidden(c):
            return

        if c not in broker and c not in broker.exceptions:
            return

        ser_name = dr.get_base_module_name(ser)
        name = dr.get_name(c)
        c_type = dr.get_component_type(c)
        doc = {}
        doc["name"] = name
        doc["dr_type"] = dr.get_name(c_type) if c_type else None
        doc["is_rule"] = plugins.is_rule(c)
        doc["time"] = broker.exec_times.get(c)
        doc["results"] = marshal(broker.get(c))
        doc["errors"] = marshal(broker.exceptions.get(c))
        path = os.path.join(output_dir, name + "." + ser_name)
        try:
            with open(path, "wb") as f:
                ser.dump(doc, f)
        except Exception as boom:
            log.error("Could not serialize %s to %s: %s" % (name, ser_name, boom))
            fs.remove(path)
Exemple #2
0
def is_component(obj):
    return bool(dr.get_component_type(obj))
Exemple #3
0
def is_type(component, _type):
    try:
        return issubclass(dr.get_component_type(component), _type)
    except:
        return False
Exemple #4
0
def is_rule(component):
    return dr.get_component_type(component) in RULE_TYPES
Exemple #5
0
def is_type(component, _type):
    return dr.get_component_type(component) is _type