tengo este código en Google App Engine (SDK Python):string.maketrans de Python funciona en casa, pero falla en 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)
Cuando ejecuto el código en la consola interactiva no tengo ningún problema, pero cuando intento en GAE me sale el siguiente error:
aumentar ValueError, "maketrans argumentos deben tener la misma longitud" ValueError: maketrans argumentos deben tener la misma longitud INFO 2009-12-03 20: 04: 02.904 dev_appserver. py: 3038] "POST/backendsavenew HTTP/1.1" 500 - INFORMACIÓN 2009-12-03 20: 08: 37,649 admi n.py:112] 106 INFO 2009-12-03 20: 08: 37,651 admin.py:113] 53 ERROR 2009-12-03 20: 08: 37,653 init .py: 388] los argumentos de maketrans deben tener misma longitud
No puedo entender por qué el tamaño de la tarjeta ha duplicado. El archivo python con el código se guarda como UTF-8.
Gracias de antemano por cualquier ayuda.
Prefiero no agregar un nuevo paquete a GAE para resolverlo, pero veré el código de Unidecode. Gracias. –
# - * - codificación: utf-8 - * - lo resolvió. Gracias. –
También necesitaba eliminar algunos caracteres. Cambié el código a "modo Unicode" y agregué algunas conversiones a None en el diccionario. –