def winner_text(factsys, data, win): factsys.grammar.embed("G") import G name = G.pnameName(pname(win)) priz = factsys.str2exp("Prize", win.prize) cit = cname(factsys, win.city) countr = cname(factsys, win.country) doc = G.OneSentenceDoc( G.ContinuousPastFactSentence( ## for Ger G.ActFact(G.NameObject(name), G.winPrizeDateAct(priz, string_year(win.year))))) doc = G.AddSentenceDoc( doc, G.ContinuousPastFactSentence( G.ActFact(G.PronObject(name), G.bornAct(string_year(win.born), cit, countr)))) if len(win) > 7 and win.dead: try: fname = G.pnameName(pname(win, just_family=True)) doc = G.AddSentenceDoc( doc, G.PunctualPastFactSentence( G.ActFact(G.NameObject(fname), G.dieAct(string_year(win.dead))))) except: pass ## print(doc) return doc, name, priz