ho questo codice in Google AppEngine (Python SDK):string.maketrans di Python lavora in casa, ma non riesce su Google App Engine
from string import maketrans
intab = u"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ".encode('latin1')
outtab = u"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn".encode('latin1')
logging.info(len(intab))
logging.info(len(outtab))
trantab = maketrans(intab, outtab)
Quando eseguo il codice nella console interattiva non ho alcun problema, ma quando provo in GAE ottengo il seguente errore:
sollevare ValueError, "maketrans argomenti devono avere stessa lunghezza" ValueError: maketrans argomenti devono avere stessa lunghezza INFORMAZIONI 2009-12-03 20: 04: 02.904 dev_appserver. py: 3038] "POST/backendsavenew HTTP/1.1" 500 - INFO 2009-12-03 20: 08: 37,649 admi n.py:112] 106 INFO 2009-12-03 20: 08: 37,651 admin.py:113] 53 ERRORE 2009-12-03 20: 08: 37,653 init .py: 388] Gli argomenti di maketrans devono avere stessa lunghezza
Non riesco a capire perché l'intab è raddoppiato nelle dimensioni. Il file python con il codice viene salvato come UTF-8.
Grazie in anticipo per qualsiasi aiuto.
Preferisco non aggiungere un nuovo pacchetto a GAE per risolverlo, ma esaminerò il codice di Unidecode. Grazie. –
# - * - codifica: utf-8 - * - risolto. Grazie. –
Ho anche bisogno di cancellare alcuni caratteri. Ho cambiato il codice in "modo Unicode" e ho aggiunto alcune conversioni a None nel dizionario. –