2015-04-16 20 views
5

Alcuni mesi fa, ho utilizzato il pacchetto Python goslate per tradurre un gruppo di testo francese in inglese. Quando ho provato a farlo questa mattina, però, il servizio ha restituito un errore:Python: la richiesta di traduzione Goslate restituisce "503: Servizio non disponibile"

import goslate 
gs = goslate.Goslate() 
print gs.translate('hello world', 'de') 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "c:\Python27\lib\site-packages\goslate.py", line 389, in translate 
    return _unwrapper_single_element(self._translate_single_text(text, target_language, source_language)) 
    File "c:\Python27\lib\site-packages\goslate.py", line 317, in _translate_single_text 
    results = list(self._execute(make_task(i) for i in split_text(text))) 
    File "c:\Python27\lib\site-packages\goslate.py", line 200, in _execute 
    yield each() 
    File "c:\Python27\lib\site-packages\goslate.py", line 315, in <lambda> 
    return lambda: self._basic_translate(text, target_language, source_lauguage)[0] 
    File "c:\Python27\lib\site-packages\goslate.py", line 241, in _basic_translate 
    response_content = self._open_url(url) 
    File "c:\Python27\lib\site-packages\goslate.py", line 178, in _open_url 
    response = self._opener.open(request, timeout=self._TIMEOUT) 
    File "c:\Python27\lib\urllib2.py", line 437, in open 
    response = meth(req, response) 
    File "c:\Python27\lib\urllib2.py", line 550, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "c:\Python27\lib\urllib2.py", line 469, in error 
    result = self._call_chain(*args) 
    File "c:\Python27\lib\urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "c:\Python27\lib\urllib2.py", line 656, in http_error_302 
    return self.parent.open(new, timeout=req.timeout) 
    File "c:\Python27\lib\urllib2.py", line 437, in open 
    response = meth(req, response) 
    File "c:\Python27\lib\urllib2.py", line 550, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "c:\Python27\lib\urllib2.py", line 475, in error 
    return self._call_chain(*args) 
    File "c:\Python27\lib\urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "c:\Python27\lib\urllib2.py", line 558, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 503: Service Unavailable 

Qualcuno sa cosa è successo a goslate? Se è andato per sempre, ci sono alternative decenti al pacchetto goslate per tradurre il francese in inglese tramite una chiamata API?

risposta

3

Assicurati di utilizzare la versione più recente di Goslate e, in caso contrario, prova ad aggiornarlo dal suo repository. Ci sono stati alcuni cambiamenti nell'API questo mese e sono già stati implementati in Goslate. L'ho appena controllato nella mia app, funziona perfettamente.
Per aggiornare Goslate, potrebbe essere necessario installare il sistema di controllo versione Mercurial.
Dopo l'installazione di Mercurial, clonare il repo con questo comando:

hg clone https://bitbucket.org/zhuoqiang/goslate 

e quindi aggiornare di volta in volta come questo (è necessario essere nel la cartella di repository per questo lavoro):

hg pull -u 
+1

Grazie mille! Ho appena lanciato 'pip install -U goslate' e mi ha portato lì. Grazie ancora! – duhaime

+0

Sembra essere di nuovo giù. Almeno si può chiamare inaffidabile: S – gabn88

+0

@ gabn88 Accidenti, dannazione. Ho usato questo per anni! Non ricordo nemmeno cosa sia Goslate a questo punto. – Radu