-
Notifications
You must be signed in to change notification settings - Fork 0
/
translate.py
56 lines (40 loc) · 1.56 KB
/
translate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from tools import (get_word_data,
produce_dataframe, append_to_csv,
time_log, progress)
import datetime, sys
import readline
import pandas as pd
# Variáveis numéricas
TRANSLATION_NUMBER = 3
EXAMPLE_NUMBER = 3
WAIT_TIME=5
# filename autocompletion
readline.parse_and_bind("tab: complete")
INPUT_FILE=""
try:
if sys.argv[1]:
INPUT_FILE = str(sys.argv[1])
except IndexError:
print("Defaulting to 'words.csv' as input file")
INPUT_FILE="words.csv"
OUTPUT_FILE = datetime.datetime.now().strftime("%Y%m%d%H%M%S")+".csv"
# arquivo a ser lido
f = pd.read_csv(INPUT_FILE, header=None, names=['word(s)'])
REQUEST_NUMBER = len(f)
# parte do arquivo a ser lido
head = f.head(REQUEST_NUMBER)
if __name__ == "__main__":
wordlist = list(head.items())[0][1]
for index in range(len(wordlist)):
word_data = get_word_data(wordlist[index], TRANSLATION_NUMBER, EXAMPLE_NUMBER)
if word_data == False: # retorna falso quando não há exemplo objetivo de tradução (mesmo havendo exemplos em frases; isso é feito por medida de segurança)
print ("Sem traduções disponíveis para \"{}\". Pulando...".format(wordlist[index]))
continue
progress(index+1, REQUEST_NUMBER, "{} ({}/{})".format(word_data["name"], index+1, REQUEST_NUMBER))
df = produce_dataframe(word_data)
append_to_csv(df, OUTPUT_FILE)
if index != len(wordlist) - 1:
time_log(WAIT_TIME)
f = open("/home/paulo/.cache/ctrans.log", "w")
f.write(OUTPUT_FILE+"\n")
f.close()