Commit 82a7f1e6a2cec486252bb248a19a024fafac072f
1 parent
4e2fc3df
Exists in
devel
Implementa tradução em nova thread
Showing
1 changed file
with
7 additions
and
23 deletions
Show diff stats
src/PortGlosa.py
| ... | ... | @@ -8,22 +8,15 @@ |
| 8 | 8 | |
| 9 | 9 | import sys |
| 10 | 10 | from ThreadTradutor import * |
| 11 | -from TraduzSentencas import * | |
| 12 | 11 | from LerDicionarios import * |
| 13 | 12 | |
| 14 | -tradutor = TraduzSentencas() | |
| 15 | 13 | taxas = [] |
| 16 | 14 | |
| 17 | -def traduzir(texto, log=None, threads=False, taxa_qualidade=False): | |
| 18 | - #tradutor.set_level(log) if log != None else tradutor.desativar_logging() | |
| 15 | +def traduzir(texto, threads=False, taxa_qualidade=False): | |
| 19 | 16 | if texto.isspace() or texto == "": |
| 20 | - #or not checar_idioma(texto): | |
| 21 | 17 | return "ESCOLHER TEXTO CERTO" |
| 22 | - | |
| 23 | - #elif threads: | |
| 24 | - # return iniciar_com_threads(texto, taxa_qualidade) | |
| 25 | - | |
| 26 | - #else: | |
| 18 | + elif threads: | |
| 19 | + return iniciar_com_threads(texto, taxa_qualidade) | |
| 27 | 20 | return iniciar_sem_threads(texto, taxa_qualidade) |
| 28 | 21 | |
| 29 | 22 | def iniciar_com_threads(texto, taxa_qualidade): |
| ... | ... | @@ -52,8 +45,10 @@ def iniciar_sem_threads(texto, taxa_qualidade): |
| 52 | 45 | texto_quebrado = quebrar_texto(texto) |
| 53 | 46 | saidas = [] |
| 54 | 47 | for texto in texto_quebrado: |
| 55 | - saida = tradutor.iniciar_traducao(texto, taxa_qualidade) | |
| 56 | - saidas.append(saida) | |
| 48 | + thread_tradutor = ThreadTradutor(texto,taxa_qualidade) | |
| 49 | + thread_tradutor.start() | |
| 50 | + thread_tradutor.join() | |
| 51 | + saidas.append(thread_tradutor.obter_glosa()) | |
| 57 | 52 | if taxa_qualidade: |
| 58 | 53 | return gerar_taxa_qualidade(saidas) |
| 59 | 54 | return " ".join(saidas) |
| ... | ... | @@ -101,17 +96,6 @@ def gerar_taxa_qualidade(lista_saidas): |
| 101 | 96 | taxa_sentenca = (float(soma_taxas)/len(lista_saidas)) * 0.80 |
| 102 | 97 | return {'glosa':" ".join(glosas), 'taxa_qualidade': float("%.2f" % (taxa_sintatica+taxa_sentenca))} |
| 103 | 98 | |
| 104 | -def checar_idioma(texto): | |
| 105 | - try: | |
| 106 | - texto.decode('cp1252') | |
| 107 | - except: | |
| 108 | - return False | |
| 109 | - return True | |
| 110 | - | |
| 111 | -def ajuda(): | |
| 112 | - #TODO: Adicionar um pequeno tuto aqui | |
| 113 | - print "Help" | |
| 114 | - | |
| 115 | 99 | if __name__ == '__main__': |
| 116 | 100 | texto = sys.argv[1] |
| 117 | 101 | glosa = traduzir(texto) | ... | ... |