def genereerisõna(lähtekeel,sihtkeel,pid): if lähtekeel == 'et' and sihtkeel == 'vro': s.sqli(d.n,db.genereerisõna_etvro(pid)) elif lähtekeel == 'vro' and sihtkeel == 'et': h.k("Hetkel toetusest maas - vanad tabelid uuendamata.") #s.sqli(d.n,db.genereerisõna_vroet(pid)) else: h.k("Pole toetatud. Ei tule ka. V.a., kui keegi finantseerib.")
def leialõpuliited(sõna,lähtekeel,pid,kus): if lähtekeel == 'et': tul = s.sqli(d.n,db.leialõpuliited_et(pid,sõna)) elif lähtekeel == 'vro': tul = s.sqli(d.n,db.leialõpuliited_vro(pid,sõna)) else: h.k("Maoli maas, näoli sees") return tul
def sõnetatekst(tõlkenumber): """Võtab DB'st (tõlkelause) lause ja tokeniseerib/sõnetab.""" import string, re for index, r in enumerate(s.sqle(d.n, db.tükeldatekst(tõlkenumber))): lause = r['lähtejutt'] for index, sõna in enumerate(toki(lause)): sõnanr = str(index + 1) lipp = sõna[0] sõna = sõna[1] sõna = sõna.replace("'", r"\''") s.sqli(d.n, db.toge(tõlkenumber, sõnanr, sõna, lipp))
def www2db(tõlkenumber, lähtekeel, sihtkeel, veebitekst, viis): """Saab veebiliideselt teksti ja sisestab DB'sse.""" if viis == "www" or viis == "wwwdebug": h.k("<table><tr>\n <td>") h.k(veebitekst) h.kr("</td>") v = str(veebitekst) if viis == "www" or viis == "wwwdebug": rida = v.replace("'", r"\''") elif viis == "käsurida": # lõikame pythoni listi stdin-variandi otsad maha rida = v[2:-2] #rida = rida.replace("'", r"\''") s.sqli(d.n, db.tekstandmetesse(tõlkenumber, lähtekeel, sihtkeel, rida))
def lihttõlge_erinditest(tõlkenumber,sõna,pid,lähtekeel,sihtkeel): """Tõlgib sõna, tagastab sõnade ja grammatika massiivi.""" leitudsõnanr = 0 sõna = sõna.replace("\\'",r"''") if lähtekeel == 'et' and sihtkeel == 'vro': sisestus0 = db.erindid_etvro(sõna) elif lähtekeel == 'vro' and sihtkeel == 'et': sisestus0 = db.erindid_vroet(sõna) else: h.k("Häki edasi, siia poldud ette nähtud jõuda... Versioon 0.2") for index,r in enumerate(s.sqlf(d.n,sisestus0)): sihtsõna = r[0].replace("'", r"\''") grammar = r[1]; sihtgrammar = r[2] leitudsõnanr += 1 if index == 0: s.sqli(d.n,db.uuendatõlkesõna(sihtsõna,grammar,pid,'erindivõrdlus0')) else: s.sqli(d.n,db.sisestatõlkesõnadesse(sihtsõna,grammar,pid,'erindivõrdlus1')) return leitudsõnanr
def sõnavõrdlus(tõlkenumber,lähtekeel,sihtkeel,sõna,pid,kus): """Tõlgib sõna, tagastab sõnade ja grammatika massiivi.""" leitudsõnanr = 0 sõna = sõna.replace("\\'",r"''") if lähtekeel == 'et' and sihtkeel == 'vro': sisestus = db.võrdlesõna_etvro(sõna) elif lähtekeel == 'vro' and sihtkeel == 'et': sisestus = db.võrdlesõna_vroet(sõna) #sisestus = db.tõlgisõna_vroet(sõna) else: h.k("Häki edasi, siia poldud ette nähtud jõuda... Versioon 0.1") for index,r in enumerate(s.sqlf(d.n,sisestus)): sihtsõna = r[0].replace("'", r"\''") grammar = r[1] leitudsõnanr += 1 if index == 0: s.sqli(d.n,db.uuendatõlkesõna(sihtsõna,grammar,pid,kus)) elif index > 0: s.sqli(d.n,db.sisestatõlkesõnadesse(sihtsõna,grammar,pid,kus)) return leitudsõnanr
def lopylausõstaminy(tõlkenumber): """Loeb tõlketõlkenumberist kogu teksti ja jagab osalauseteks""" # XXX Paremini saab seda teha siis, kui teha süntaksianalüüsiga koos -> # XXX järelikult tuleks seda osa hilisemaks tõsta # XXX A edimält tulõ-õks punkti ni koma kotussõ päält är' lausõsta, selle et # XXX muido tulõ suurõ möla päält katssata sõnna lauseh. # XXX peräh tulõ nummõrtiisi lihtsahe ümbre nõsta osalausenr = lausenr = sõnanr = osasõnanr = 1 for index,r in enumerate(s.sqle(d.n,db.sõnadsõnanumbrikaupa(tõlkenumber))): s.sqli(d.n,db.nummerdasõnadlausetes(sõnanr,osasõnanr,lausenr,osalausenr,r['id'],r['tasn'])) if (r['lsõ'] == ',') or (r['lsõ'] == ':') or (r['lsõ'] == ';'): # XXX kui punkt, koma või koolon on sõna sees, nagu arv, MAC-aadress, jne. osalausenr += 1 osasõnanr = 0 elif (r['lsõ'] == '.') or (r['lsõ'] == '?') or (r['lsõ'] == '!'): lausenr += 1 sõnanr = 0 osasõnanr = 0 osalausenr = 1 sõnanr += 1 osasõnanr += 1
def valitõlge(tõlkenumber,viis): tekst = tõlgitudtekst = "" s.sqli(d.n,db.vormikutestsõnadesse(tõlkenumber)) päring = db.valiparalleeltõlge(tõlkenumber) #s.sqli(d.n,db.ennetõlget(tõlkenumber)) if viis == "www" or viis == "wwwdebug": h.k(" <td>") for index,r in enumerate(s.sqle(d.n,päring)): if (r['tõlge'] == '.') or (r['tõlge'] == ',') or (r['tõlge'] == '!') or (r['tõlge'] == '?'): tõlgitudtekst = tõlgitudtekst + r['tõlge'] else: if r['tõlge'] == None: tõlge = '' elif r['tõlge'] == 'None': tõlge = '' else: tõlge = r['tõlge'] tõlgitudtekst = tõlgitudtekst + " " + tõlge print(tõlgitudtekst) if viis == "www" or viis == "wwwdebug": h.kr("</td>") s.sqli(d.n,db.tõlkelausessetõlgejuurde(tõlgitudtekst,tõlkenumber))
def tüvekontroll(sihtkeel,pid): if sihtkeel == 'vro': tul = s.sqli(d.n,db.tüvekontra(pid))
def testiliidetearvu(pid): arv = s.sqli(d.n,db.küsiliidetearvu(pid)) return arv
def tõlgilõpuliited(lähtekeel,sihtkeel,pid): if lähtekeel == 'et' and sihtkeel == 'vro': s.sqli(d.n,db.tõlgilõpuliited_etvro(pid)) elif lähtekeel == 'vro' and sihtkeel == 'et': h.k("Hetkel pole veel toetatud.") else: h.k("Pole toetatud. Ei tule ka. V.a., kui keegi finantseerib. V2")