예제 #1
0
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