Ejemplo n.º 1
0
def validate(a_session: session, engine: Engine):
    """
    Determine formula execution order based on "row.xx" references,
    (or raise exception if cycles detected).
    """
    list_rules = "\n\nValidate Rule Bank"
    rules_bank = RuleBank()

    for each_key in rules_bank.orm_objects:
        validate_formula_dependencies(class_name=each_key)
    list_rules += rules_bank.__str__()
    print(list_rules)
    return True
Ejemplo n.º 2
0
def compute_formula_execution_order() -> bool:
    """
    Determine formula execution order based on "row.xx" references (dependencies),
    (or raise exception if cycles detected).
    """
    global version
    rules_bank = RuleBank()
    for each_key in rules_bank.orm_objects:
        compute_formula_execution_order_for_class(class_name=each_key)

    logic_logger = logging.getLogger("logic_logger")
    rule_count = 0
    logic_logger.debug(f'\nThe following rules have been activated\n')
    list_rules = rules_bank.__str__()
    loaded_rules = list(list_rules.split("\n"))
    for each_rule in loaded_rules:
        logic_logger.debug(each_rule)
        rule_count += 1
    logic_logger.info(f'Logic Bank {__version__} - {rule_count} rules loaded')
    return True