Advertisement
Guest User

mixedWordsFix

a guest
Jun 19th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. cyrLetters = [u"А", u"Б", u"В", u"Г", u"Д", u"Ђ", u"Е", u"Ж", u"З", u"И", u"Ј", u"К", u"Л", u"Љ", u"М",
  2.                 u"Н", u"Њ", u"О", u"П", u"Р", u"С", u"Т", u"Ћ", u"У", u"Ф", u"Х", u"Ц", u"Ч", u"Џ", u"Ш",
  3.                 u"а", u"б", u"в", u"г", u"д", u"ђ", u"е", u"ж", u"з", u"и", u"ј", u"к", u"л", u"љ", u"м",
  4.                 u"н", u"њ", u"о", u"п", u"р", u"с", u"т", u"ћ", u"у", u"ф", u"х", u"ц", u"ч", u"џ", u"ш"]
  5.                  
  6. latLetters = [u"A", u"B", u"V", u"G", u"D", u"Đ", u"E", u"Ž", u"Z", u"I", u"J", u"K", u"L", u"LJ", u"M",
  7.                 u"N", u"NJ", u"O", u"P", u"R", u"S", u"T", u"Ć", u"U", u"F", u"H", u"C", u"Č", u"DŽ", u"Š",
  8.                 u"a", u"b", u"v", u"g", u"d", u"đ", u"e", u"ž", u"z", u"i", u"j", u"k", u"l", u"lj", u"m",
  9.                 u"n", u"nj", u"o", u"p", u"r", u"s", u"t", u"ć", u"u", u"f", u"h", u"c", u"č", u"dž", u"š"]
  10.  
  11. def fixMixedCyrLatWord(word):
  12.  
  13.     latToCyr = zip(latLetters, cyrLetters)
  14.     cyrToLat = zip(cyrLetters, latLetters)
  15.    
  16.     originScript = 'l'
  17.     if originScript == 'c':
  18.         letterMap = dict(zip(cyrLetters, latLetters))
  19.     elif originScript == 'l':
  20.         letterMap = dict(zip(latLetters, cyrLetters))
  21.     else:
  22.       raise Exception("Unexpected script: " + originScript)
  23.  
  24.     newWord = ""
  25.     for c in word:
  26.         newWord += letterMap.get(c, c)
  27.     return newWord
  28.  
  29. fixes['mixedWords']= {
  30.     'regex': True,
  31.     'msg': {
  32.            'sr':u'Порука...',
  33.     },
  34.     'replacements': [
  35.         (u"[А-Ша-шЈјЊњЏџЂђ]+[A-Za-zĐđŽžĆćČ芚].*", fixMixedCyrLatWord),
  36.         (u"[A-Za-zĐđŽžĆćČ芚]+[А-Ша-шЈјЊњЏџЂђ].*", fixMixedCyrLatWord),
  37.     ],
  38.     'exceptions': { #Your exceptions here
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement