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, daTradurre):
    url = urllib.urlopen("http://www.langtolang.com/?selectFrom="+['english','italian','french','german','spanish'][lingua]+"&selectTo="+lingua1+"&txtLang="+daTradurre+"&submitButton=Search")       
    toparse0 = url.read()
    toparse = toparse0.replace('\t','')
    url.close()
    traduzioniTemp = []
    for i in range(toparse.find("""<table width="100%" cellpadding="1" cellspacing="0">"""),\
                   toparse.find("""<tr><td><div id="userSuggestion"></div>To make suggestion with your username please""")):
        if toparse[i:i+len("""<td width="40%">""")] == """<td width="40%">""":
            parola = ''
            for lettera in toparse[i+len("""<td width="40%">"""):len(toparse)]:
                if lettera == '<':
                    if not parola == daTradurre:
                        traduzioniTemp.append(parola)
                    break  
                parola += lettera
    return traduzioniTemp
    
##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(l, p, d):
#    thread.start_new_thread(_Traduci, (l, p, d,))
