Utilisateur:Loveless/trucs2
Apparence
# -*- coding: iso-8859-1 -*- import string def getRedirectTitle(page): origin=u'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿýÑñÇç\u0161\u017e' dest= u'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyyNnCcsz' #On crée une table qui va servir à la traduction avec string.maketrans() table = {} for pos, ch in enumerate(origin): table[ord(ch)] = ord(dest[pos]) redirect = page.translate(table) redirect = redirect.replace( u'æ', u'ae').replace( u'Æ', u'AE').replace( '\u0153', u'oe') return redirect ==> Traceback (most recent call last): File "create_redirects_accent.py", line 219, in ? main() File "create_redirects_accent.py", line 215, in main bot.run() File "create_redirects_accent.py", line 106, in run redirectpage = getRedirectTitle(page_t) File "create_redirects_accent.py", line 62, in getRedirectTitle table=string.maketrans(origin, dest) ValueError: maketrans arguments must have same length if I put origin & dest in u' ... ', I have UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-55: ordinal not in range(128) Traceback (most recent call last): File "create_redirects_accent.py", line 219, in ? main() File "create_redirects_accent.py", line 215, in main bot.run() File "create_redirects_accent.py", line 106, in run redirectpage = getRedirectTitle(page_t) File "create_redirects_accent.py", line 62, in getRedirectTitle table=string.maketrans(origin, dest)