X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3618eb351066fde7992f64c81a053d0a89db2235..65147fbaa927dbe48d42897681d8a51d3c709798:/lib/slughifi.py?ds=sidebyside diff --git a/lib/slughifi.py b/lib/slughifi.py index e7fa2212d..fe5c9e3ec 100644 --- a/lib/slughifi.py +++ b/lib/slughifi.py @@ -5,7 +5,7 @@ from types import UnicodeType from django.template.defaultfilters import slugify # default unicode character mapping ( you may not see some chars, leave as is ) -char_map = {u'Ã': 'A', u'Ã': 'A', u'Ã': 'A', u'Ã': 'A', u'Ã': 'Ae', u'à ': 'A', u'Ã': 'A', u'Ä': 'A', u'Ä': 'A', u'Ä': 'A', u'Ã': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'D', u'Ä': 'D', u'Ã': 'E', u'Ã': 'E', u'Ã': 'E', u'Ã': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'G', u'Ä': 'G', u'Ä ': 'G', u'Ä¢': 'G', u'Ĥ': 'H', u'Ħ': 'H', u'Ã': 'I', u'Ã': 'I', u'Ã': 'I', u'Ã': 'I', u'Ī': 'I', u'Ĩ': 'I', u'Ĭ': 'I', u'Ä®': 'I', u'Ä°': 'I', u'IJ': 'IJ', u'Ä´': 'J', u'Ķ': 'K', u'Ľ': 'K', u'Ĺ': 'K', u'Ä»': 'K', u'Ä¿': 'K', u'Å': 'L', u'Ã': 'N', u'Å': 'N', u'Å': 'N', u'Å ': 'N', u'Å': 'N', u'Ã': 'O', u'Ã': 'O', u'Ã': 'O', u'Ã': 'O', u'Ã': 'Oe', u'Ã': 'O', u'Å': 'O', u'Å': 'O', u'Å': 'O', u'Å': 'OE', u'Å': 'R', u'Å': 'R', u'Å': 'R', u'Å': 'S', u'Å': 'S', u'Å': 'S', u'È': 'S', u'Å ': 'S', u'Ť': 'T', u'Å¢': 'T', u'Ŧ': 'T', u'È': 'T', u'Ã': 'U', u'Ã': 'U', u'Ã': 'U', u'Ã': 'Ue', u'Ū': 'U', u'Å®': 'U', u'Å°': 'U', u'Ŭ': 'U', u'Ũ': 'U', u'Ų': 'U', u'Å´': 'W', u'Ŷ': 'Y', u'Ÿ': 'Y', u'Ã': 'Y', u'Ź': 'Z', u'Å»': 'Z', u'Ž': 'Z', u'à ': 'a', u'á': 'a', u'â': 'a', u'ã': 'a', u'ä': 'ae', u'Ä': 'a', u'Ä ': 'a', u'Ä': 'a', u'Ã¥': 'a', u'æ': 'ae', u'ç': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'd', u'Ä': 'd', u'è': 'e', u'é': 'e', u'ê': 'e', u'ë': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Æ': 'f', u'Ä': 'g', u'Ä': 'g', u'Ä¡': 'g', u'Ä£': 'g', u'Ä¥': 'h', u'ħ': 'h', u'ì': 'i', u'Ã': 'i', u'î': 'i', u'ï': 'i', u'Ä«': 'i', u'Ä©': 'i', u'Ä': 'i', u'į': 'i', u'ı': 'i', u'ij': 'ij', u'ĵ': 'j', u'Ä·': 'k', u'ĸ': 'k', u'Å': 'l', u'ľ': 'l', u'ĺ': 'l', u'ļ': 'l', u'Å': 'l', u'ñ': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'ò': 'o', u'ó': 'o', u'ô': 'o', u'õ': 'o', u'ö': 'oe', u'ø': 'o', u'Å': 'o', u'Å': 'o', u'Å': 'o', u'Å': 'oe', u'Å': 'r', u'Å': 'r', u'Å': 'r', u'Å': 's', u'Å¡': 's', u'Å¥': 't', u'ù': 'u', u'ú': 'u', u'û': 'u', u'ü': 'ue', u'Å«': 'u', u'ů': 'u', u'ű': 'u', u'Å': 'u', u'Å©': 'u', u'ų': 'u', u'ŵ': 'w', u'ÿ': 'y', u'ý': 'y', u'Å·': 'y', u'ż': 'z', u'ź': 'z', u'ž': 'z', u'Ã': 'ss', u'Å¿': 'ss', u'Î': 'A', u'Î': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'Ᾰ': 'A', u'á¾¹': 'A', u'Ὰ': 'A', u'á¾»': 'A', u'á¾¼': 'A', u'Î': 'B', u'Î': 'G', u'Î': 'D', u'Î': 'E', u'Î': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¿': 'E', u'á¿': 'E', u'Î': 'Z', u'Î': 'I', u'Î': 'I', u'Ἠ': 'I', u'Ἡ': 'I', u'Ἢ': 'I', u'Ἣ': 'I', u'Ἤ': 'I', u'á¼': 'I', u'á¼®': 'I', u'Ἧ': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'Î': 'TH', u'Î': 'I', u'Î': 'I', u'Ϊ': 'I', u'Ἰ': 'I', u'á¼¹': 'I', u'Ἲ': 'I', u'á¼»': 'I', u'á¼¼': 'I', u'á¼½': 'I', u'á¼¾': 'I', u'Ἷ': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'Î': 'K', u'Î': 'L', u'Î': 'M', u'Î': 'N', u'Î': 'KS', u'Î': 'O', u'Î': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'Ὸ': 'O', u'Ό': 'O', u'Î ': 'P', u'Ρ': 'R', u'Ῥ': 'R', u'Σ': 'S', u'Τ': 'T', u'Î¥': 'Y', u'Î': 'Y', u'Ϋ': 'Y', u'á½': 'Y', u'á½': 'Y', u'á½': 'Y', u'á½': 'Y', u'Ῠ': 'Y', u'á¿©': 'Y', u'Ὺ': 'Y', u'á¿«': 'Y', u'Φ': 'F', u'Χ': 'X', u'Ψ': 'PS', u'Ω': 'O', u'Î': 'O', u'Ὠ': 'O', u'Ὡ': 'O', u'Ὢ': 'O', u'Ὣ': 'O', u'Ὤ': 'O', u'á½': 'O', u'á½®': 'O', u'Ὧ': 'O', u'ᾨ': 'O', u'ᾩ': 'O', u'ᾪ': 'O', u'ᾫ': 'O', u'ᾬ': 'O', u'á¾': 'O', u'á¾®': 'O', u'ᾯ': 'O', u'Ὼ': 'O', u'á¿»': 'O', u'ῼ': 'O', u'α': 'a', u'ά': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼ ': 'a', u'á¼': 'a', u'á¼': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾ ': 'a', u'á¾': 'a', u'á¾': 'a', u'á½°': 'a', u'á½±': 'a', u'á¾°': 'a', u'á¾±': 'a', u'á¾²': 'a', u'á¾³': 'a', u'á¾´': 'a', u'ᾶ': 'a', u'á¾·': 'a', u'β': 'b', u'γ': 'g', u'δ': 'd', u'ε': 'e', u'Î': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á½²': 'e', u'á½³': 'e', u'ζ': 'z', u'η': 'i', u'ή': 'i', u'á¼ ': 'i', u'ἡ': 'i', u'á¼¢': 'i', u'á¼£': 'i', u'ἤ': 'i', u'á¼¥': 'i', u'ἦ': 'i', u'ἧ': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á½´': 'i', u'á½µ': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'θ': 'th', u'ι': 'i', u'ί': 'i', u'Ï': 'i', u'Î': 'i', u'á¼°': 'i', u'á¼±': 'i', u'á¼²': 'i', u'á¼³': 'i', u'á¼´': 'i', u'á¼µ': 'i', u'ἶ': 'i', u'á¼·': 'i', u'ὶ': 'i', u'á½·': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'κ': 'k', u'λ': 'l', u'μ': 'm', u'ν': 'n', u'ξ': 'ks', u'ο': 'o', u'Ï': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½ ': 'o', u'ὸ': 'o', u'á½¹': 'o', u'Ï': 'p', u'Ï': 'r', u'ῤ': 'r', u'á¿¥': 'r', u'Ï': 's', u'Ï': 's', u'Ï': 't', u'Ï ': 'y', u'Ï': 'y', u'Ï': 'y', u'ΰ': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'ὺ': 'y', u'á½»': 'y', u'á¿ ': 'y', u'á¿¡': 'y', u'á¿¢': 'y', u'á¿£': 'y', u'ῦ': 'y', u'ῧ': 'y', u'Ï': 'f', u'Ï': 'x', u'Ï': 'ps', u'Ï': 'o', u'Ï': 'o', u'á½ ': 'o', u'ὡ': 'o', u'á½¢': 'o', u'á½£': 'o', u'ὤ': 'o', u'á½¥': 'o', u'ὦ': 'o', u'ὧ': 'o', u'á¾ ': 'o', u'ᾡ': 'o', u'á¾¢': 'o', u'á¾£': 'o', u'ᾤ': 'o', u'á¾¥': 'o', u'ᾦ': 'o', u'ᾧ': 'o', u'á½¼': 'o', u'á½½': 'o', u'ῲ': 'o', u'ῳ': 'o', u'á¿´': 'o', u'ῶ': 'o', u'á¿·': 'o', u'¨': '', u'Î ': '', u'᾿': '', u'῾': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'Î': '', u'á¿®': '', u'`': '', u'á¿': '', u'ͺ': '', u'á¾½': '', u'Ð': 'A', u'Ð': 'B', u'Ð': 'V', u'Ð': 'G', u'Ð': 'D', u'Ð': 'E', u'Ð': 'E', u'Ð': 'ZH', u'Ð': 'Z', u'Ð': 'I', u'Ð': 'I', u'Ð': 'K', u'Ð': 'L', u'Ð': 'M', u'Ð': 'N', u'Ð': 'O', u'Ð': 'P', u'Ð ': 'R', u'С': 'S', u'Т': 'T', u'У': 'U', u'Ф': 'F', u'Ð¥': 'KH', u'Ц': 'TS', u'Ч': 'CH', u'Ш': 'SH', u'Щ': 'SHCH', u'Ы': 'Y', u'Ð': 'E', u'Ю': 'YU', u'Я': 'YA', u'а': 'A', u'б': 'B', u'в': 'V', u'г': 'G', u'д': 'D', u'е': 'E', u'Ñ': 'E', u'ж': 'ZH', u'з': 'Z', u'и': 'I', u'й': 'I', u'к': 'K', u'л': 'L', u'м': 'M', u'н': 'N', u'о': 'O', u'п': 'P', u'Ñ': 'R', u'Ñ': 'S', u'Ñ': 'T', u'Ñ': 'U', u'Ñ': 'F', u'Ñ ': 'KH', u'Ñ': 'TS', u'Ñ': 'CH', u'Ñ': 'SH', u'Ñ': 'SHCH', u'Ñ': 'Y', u'Ñ': 'E', u'Ñ': 'YU', u'Ñ': 'YA', u'Ъ': '', u'Ñ': '', u'Ь': '', u'Ñ': '', u'ð': 'd', u'Ã': 'D', u'þ': 'th', u'Ã': 'TH', +char_map = {u'Ã': 'A', u'Ã': 'A', u'Ã': 'A', u'Ã': 'A', u'Ã': 'Ae', u'à ': 'A', u'Ã': 'A', u'Ä': 'A', u'Ä': 'A', u'Ä': 'A', u'Ã': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'C', u'Ä': 'D', u'Ä': 'D', u'Ã': 'E', u'Ã': 'E', u'Ã': 'E', u'Ã': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'E', u'Ä': 'G', u'Ä': 'G', u'Ä ': 'G', u'Ä¢': 'G', u'Ĥ': 'H', u'Ħ': 'H', u'Ã': 'I', u'Ã': 'I', u'Ã': 'I', u'Ã': 'I', u'Ī': 'I', u'Ĩ': 'I', u'Ĭ': 'I', u'Ä®': 'I', u'Ä°': 'I', u'IJ': 'IJ', u'Ä´': 'J', u'Ķ': 'K', u'Ľ': 'K', u'Ĺ': 'K', u'Ä»': 'K', u'Ä¿': 'K', u'Å': 'L', u'Ã': 'N', u'Å': 'N', u'Å': 'N', u'Å ': 'N', u'Å': 'N', u'Ã': 'O', u'Ã': 'O', u'Ã': 'O', u'Ã': 'O', u'Ã': 'Oe', u'Ã': 'O', u'Å': 'O', u'Å': 'O', u'Å': 'O', u'Å': 'OE', u'Å': 'R', u'Å': 'R', u'Å': 'R', u'Å': 'S', u'Å': 'S', u'Å': 'S', u'È': 'S', u'Å ': 'S', u'Ť': 'T', u'Å¢': 'T', u'Ŧ': 'T', u'È': 'T', u'Ã': 'U', u'Ã': 'U', u'Ã': 'U', u'Ã': 'Ue', u'Ū': 'U', u'Å®': 'U', u'Å°': 'U', u'Ŭ': 'U', u'Ũ': 'U', u'Ų': 'U', u'Å´': 'W', u'Ŷ': 'Y', u'Ÿ': 'Y', u'Ã': 'Y', u'Ź': 'Z', u'Å»': 'Z', u'Ž': 'Z', u'à ': 'a', u'á': 'a', u'â': 'a', u'ã': 'a', u'ä': 'ae', u'Ä': 'a', u'Ä ': 'a', u'Ä': 'a', u'Ã¥': 'a', u'æ': 'ae', u'ç': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'c', u'Ä': 'd', u'Ä': 'd', u'è': 'e', u'é': 'e', u'ê': 'e', u'ë': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Ä': 'e', u'Æ': 'f', u'Ä': 'g', u'Ä': 'g', u'Ä¡': 'g', u'Ä£': 'g', u'Ä¥': 'h', u'ħ': 'h', u'ì': 'i', u'Ã': 'i', u'î': 'i', u'ï': 'i', u'Ä«': 'i', u'Ä©': 'i', u'Ä': 'i', u'į': 'i', u'ı': 'i', u'ij': 'ij', u'ĵ': 'j', u'Ä·': 'k', u'ĸ': 'k', u'Å': 'l', u'ľ': 'l', u'ĺ': 'l', u'ļ': 'l', u'Å': 'l', u'ñ': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'Å': 'n', u'ò': 'o', u'ó': 'o', u'ô': 'o', u'õ': 'o', u'ö': 'oe', u'ø': 'o', u'Å': 'o', u'Å': 'o', u'Å': 'o', u'Å': 'oe', u'Å': 'r', u'Å': 'r', u'Å': 'r', u'Å': 's', u'Å¡': 's', u'Å¥': 't', u'ù': 'u', u'ú': 'u', u'û': 'u', u'ü': 'ue', u'Å«': 'u', u'ů': 'u', u'ű': 'u', u'Å': 'u', u'Å©': 'u', u'ų': 'u', u'ŵ': 'w', u'ÿ': 'y', u'ý': 'y', u'Å·': 'y', u'ż': 'z', u'ź': 'z', u'ž': 'z', u'Ã': 'ss', u'Å¿': 'ss', u'Î': 'A', u'Î': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¼': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'á¾': 'A', u'Ᾰ': 'A', u'á¾¹': 'A', u'Ὰ': 'A', u'á¾»': 'A', u'á¾¼': 'A', u'Î': 'B', u'Î': 'G', u'Î': 'D', u'Î': 'E', u'Î': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¼': 'E', u'á¿': 'E', u'á¿': 'E', u'Î': 'Z', u'Î': 'I', u'Î': 'I', u'Ἠ': 'I', u'Ἡ': 'I', u'Ἢ': 'I', u'Ἣ': 'I', u'Ἤ': 'I', u'á¼': 'I', u'á¼®': 'I', u'Ἧ': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¾': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'Î': 'TH', u'Î': 'I', u'Î': 'I', u'Ϊ': 'I', u'Ἰ': 'I', u'á¼¹': 'I', u'Ἲ': 'I', u'á¼»': 'I', u'á¼¼': 'I', u'á¼½': 'I', u'á¼¾': 'I', u'Ἷ': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'á¿': 'I', u'Î': 'K', u'Î': 'L', u'Î': 'M', u'Î': 'N', u'Î': 'KS', u'Î': 'O', u'Î': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'á½': 'O', u'Ὸ': 'O', u'Ό': 'O', u'Î ': 'P', u'Ρ': 'R', u'Ῥ': 'R', u'Σ': 'S', u'Τ': 'T', u'Î¥': 'Y', u'Î': 'Y', u'Ϋ': 'Y', u'á½': 'Y', u'á½': 'Y', u'á½': 'Y', u'á½': 'Y', u'Ῠ': 'Y', u'á¿©': 'Y', u'Ὺ': 'Y', u'á¿«': 'Y', u'Φ': 'F', u'Χ': 'X', u'Ψ': 'PS', u'Ω': 'O', u'Î': 'O', u'Ὠ': 'O', u'Ὡ': 'O', u'Ὢ': 'O', u'Ὣ': 'O', u'Ὤ': 'O', u'á½': 'O', u'á½®': 'O', u'Ὧ': 'O', u'ᾨ': 'O', u'ᾩ': 'O', u'ᾪ': 'O', u'ᾫ': 'O', u'ᾬ': 'O', u'á¾': 'O', u'á¾®': 'O', u'ᾯ': 'O', u'Ὼ': 'O', u'á¿»': 'O', u'ῼ': 'O', u'α': 'a', u'ά': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼': 'a', u'á¼ ': 'a', u'á¼': 'a', u'á¼': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾': 'a', u'á¾ ': 'a', u'á¾': 'a', u'á¾': 'a', u'á½°': 'a', u'á½±': 'a', u'á¾°': 'a', u'á¾±': 'a', u'á¾²': 'a', u'á¾³': 'a', u'á¾´': 'a', u'ᾶ': 'a', u'á¾·': 'a', u'β': 'b', u'γ': 'g', u'δ': 'd', u'ε': 'e', u'Î': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á¼': 'e', u'á½²': 'e', u'á½³': 'e', u'ζ': 'z', u'η': 'i', u'ή': 'i', u'á¼ ': 'i', u'ἡ': 'i', u'á¼¢': 'i', u'á¼£': 'i', u'ἤ': 'i', u'á¼¥': 'i', u'ἦ': 'i', u'ἧ': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á¾': 'i', u'á½´': 'i', u'á½µ': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'θ': 'th', u'ι': 'i', u'ί': 'i', u'Ï': 'i', u'Î': 'i', u'á¼°': 'i', u'á¼±': 'i', u'á¼²': 'i', u'á¼³': 'i', u'á¼´': 'i', u'á¼µ': 'i', u'ἶ': 'i', u'á¼·': 'i', u'ὶ': 'i', u'á½·': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'á¿': 'i', u'κ': 'k', u'λ': 'l', u'μ': 'm', u'ν': 'n', u'ξ': 'ks', u'ο': 'o', u'Ï': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½': 'o', u'á½ ': 'o', u'ὸ': 'o', u'á½¹': 'o', u'Ï': 'p', u'Ï': 'r', u'ῤ': 'r', u'á¿¥': 'r', u'Ï': 's', u'Ï': 's', u'Ï': 't', u'Ï ': 'y', u'Ï': 'y', u'Ï': 'y', u'ΰ': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'á½': 'y', u'ὺ': 'y', u'á½»': 'y', u'á¿ ': 'y', u'á¿¡': 'y', u'á¿¢': 'y', u'á¿£': 'y', u'ῦ': 'y', u'ῧ': 'y', u'Ï': 'f', u'Ï': 'x', u'Ï': 'ps', u'Ï': 'o', u'Ï': 'o', u'á½ ': 'o', u'ὡ': 'o', u'á½¢': 'o', u'á½£': 'o', u'ὤ': 'o', u'á½¥': 'o', u'ὦ': 'o', u'ὧ': 'o', u'á¾ ': 'o', u'ᾡ': 'o', u'á¾¢': 'o', u'á¾£': 'o', u'ᾤ': 'o', u'á¾¥': 'o', u'ᾦ': 'o', u'ᾧ': 'o', u'á½¼': 'o', u'á½½': 'o', u'ῲ': 'o', u'ῳ': 'o', u'á¿´': 'o', u'ῶ': 'o', u'á¿·': 'o', u'¨': '', u'Î ': '', u'᾿': '', u'῾': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'á¿': '', u'Î': '', u'á¿®': '', u'`': '', u'á¿': '', u'ͺ': '', u'á¾½': '', u'Ð': 'A', u'Ð': 'B', u'Ð': 'V', u'Ð': 'G', u'Ð': 'D', u'Ð': 'E', u'Ð': 'E', u'Ð': 'ZH', u'Ð': 'Z', u'Ð': 'I', u'Ð': 'I', u'Ð': 'K', u'Ð': 'L', u'Ð': 'M', u'Ð': 'N', u'Ð': 'O', u'Ð': 'P', u'Ð ': 'R', u'С': 'S', u'Т': 'T', u'У': 'U', u'Ф': 'F', u'Ð¥': 'KH', u'Ц': 'TS', u'Ч': 'CH', u'Ш': 'SH', u'Щ': 'SHCH', u'Ы': 'Y', u'Ð': 'E', u'Ю': 'YU', u'Я': 'YA', u'а': 'A', u'б': 'B', u'в': 'V', u'г': 'G', u'д': 'D', u'е': 'E', u'Ñ': 'E', u'ж': 'ZH', u'з': 'Z', u'и': 'I', u'й': 'I', u'к': 'K', u'л': 'L', u'м': 'M', u'н': 'N', u'о': 'O', u'п': 'P', u'Ñ': 'R', u'Ñ': 'S', u'Ñ': 'T', u'Ñ': 'U', u'Ñ': 'F', u'Ñ ': 'KH', u'Ñ': 'TS', u'Ñ': 'CH', u'Ñ': 'SH', u'Ñ': 'SHCH', u'Ñ': 'Y', u'Ñ': 'E', u'Ñ': 'YU', u'Ñ': 'YA', u'Ъ': '', u'Ñ': '', u'Ь': '', u'Ñ': '', u'ð': 'd', u'Ã': 'D', u'þ': 'th', u'Ã': 'TH', u'á': 'a', u'á': 'b', u'á': 'g', u'á': 'd', u'á': 'e', u'á': 'v', u'á': 'z', u'á': 't', u'á': 'i', u'á': 'k', u'á': 'l', u'á': 'm', u'á': 'n', u'á': 'o', u'á': 'p', u'á': 'zh', u'á ': 'r', u'á¡': 's', u'á¢': 't', u'á£': 'u', u'á¤': 'p', u'á¥': 'k', u'á¦': 'gh', u'á§': 'q', u'á¨': 'sh', u'á©': 'ch', u'áª': 'ts', u'á«': 'dz', u'á¬': 'ts', u'á': 'ch', u'á®': 'kh', u'á¯': 'j', u'á°': 'h' } def replace_char(m): @@ -14,43 +14,43 @@ def replace_char(m): return char_map[char] else: return char - + def slughifi(value, do_slugify=True, overwrite_char_map={}): """ High Fidelity slugify - slughifi.py, v 0.1 - + Examples : - + >>> text = 'C\'est déjà l\'été.' - + >>> slughifi(text) 'cest-deja-lete' - + >>> slughifi(text, overwrite_char_map={u'\'': '-',}) 'c-est-deja-l-ete' - + >>> slughifi(text, do_slugify=False) "C'est deja l'ete." - + # Normal slugify removes accented characters >>> slugify(text) 'cest-dj-lt' - + """ # unicodification if type(value) != UnicodeType: value = unicode(value, 'utf-8', 'ignore') - + # overwrite chararcter mapping char_map.update(overwrite_char_map) # try to replace chars value = re.sub('[^a-zA-Z0-9\\s\\-]{1}', replace_char, value) - + # apply django default slugify if do_slugify: value = slugify(value) - + return value.encode('ascii', 'ignore')