def translate(formula, templates=None, simplifications=None): if isinstance(formula, str): formulas = [expr(f) for f in formula.split(';') if f.strip()] pipeline = Nlg() context = Context(ontology=None) context.templates = templates or {} doc = [] for f in formulas: if simplifications: for s in filter(lambda x: x in simplification_ops, simplifications): f = simplification_ops[s](f) doc.append(formula_to_rst(f)) translations = pipeline.process_nlg_doc2(doc, None, context) return translations
def test_simple_predicate(self): p = expr('Happy(john)') spec = formula_to_rst(p) self.assertEqual(PredicateMsg(Expr('Happy', ['john'])), spec)