import pspnet, psp2d, urllib, thread,time

statusTrad = 0
statusCon = 0
traduzioni = tuple()

def _connect(self):
    global statusCon
    pspnet.connectToAPCTL(config = 0)
    statusCon = 1

def connect():
    thread.start_new_thread(_connect, (None,))

def Traduci(lingua, lingua1, parola):
    traduzioni = []
    url = urllib.urlopen("http://www.langtolang.com/?selectFrom="+['english','italian','french','german','spanish'][lingua]+"&selectTo="+lingua1+"&txtLang="+parola+"&submitButton=Search")       
    buftemp = url.read()
    if not "From and To languages can not be the same" in buftemp and not 'No translation found' in buftemp:
        buf = buftemp.replace("\t","")
        lungh = len("""<td width="40%">"""+parola+"""</td>""")
        traduzionitemp = []
        i = 0
        for lettera in buf:
            if lettera == '<':
                if buf[i:i+lungh] == """<td width="40%">"""+parola+"""</td>""":
                    traduzionitemp.append(buf[i+lungh:i+lungh+50].replace("""\n      <td width="40%">""",""))
            i += 1
        for traduzione in traduzionitemp:
            trad = ''
            for lettera in traduzione:
                if lettera != '<':
                    trad += lettera
                else:
                    break
            try:
                traduzioni.append(trad)
            except:
                pass
    else:
            traduzioni.append("No translation found.")
    return ','.join(traduzioni)
    
##def Traduci(lingua, parola):
##    traduzioni = [[],[],[],[],[]]
##    j = 0
##    for lingua1 in ['english','italian','french','german','spanish']:
##        url = urllib.urlopen("http://www.langtolang.com/?selectFrom="+['english','italian','french','german','spanish'][lingua]+"&selectTo="+lingua1+"&txtLang="+parola+"&submitButton=Search")
##        buftemp = url.read()
##        buf = buftemp.replace("\t","")
##
##        lungh = len("""<td width="40%">"""+parola+"""</td>""")
##
##        traduzionitemp = []
##
##        i = 0
##        for lettera in buf:
##            if lettera == '<':
##                if buf[i:i+lungh] == """<td width="40%">"""+parola+"""</td>""":
##                    traduzionitemp.append(buf[i+lungh:i+lungh+50].replace("""\n      <td width="40%">""",""))
##            i += 1
##
##        for traduzione in traduzionitemp:
##            trad = ''
##            for lettera in traduzione:
##                if lettera != '<':
##                    trad += lettera
##                else:
##                    break
##            try:
##                traduzioni[j].append(trad)
##            except:
##                pass
##            
##        if len(traduzioni[j]) == 0:
##            if j == lingua:
##                traduzioni[j].append(parola)
##            else:
##                traduzioni[j].append("No translation found.")
##        j += 1
##        print traduzioni
##    a = ",".join(traduzioni[0])
##    b = ",".join(traduzioni[1])
##    c = ",".join(traduzioni[2])
##    d = ",".join(traduzioni[3])
##    e = ",".join(traduzioni[4])
##    #print [a,b,c,d,e]
##    return [a,b,c,d,e]

## Evitiamo di avviare nuovi thread...
#def Traduci():
#    thread.start_new_thread(_Traduci, (lingua, parola))
