- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
# собственно, сам костыль--------------------------------
crutch = {
u'u0401': u'Ё', u'u0451': u'ё',
u'u0410': u'А', u'u0430': u'а',
u'u0411': u'Б', u'u0431': u'б',
u'u0412': u'В', u'u0432': u'в',
u'u0413': u'Г', u'u0433': u'г',
u'u0414': u'Д', u'u0434': u'д',
u'u0415': u'Е', u'u0435': u'е',
u'u0416': u'Ж', u'u0436': u'ж',
u'u0417': u'З', u'u0437': u'з',
u'u0418': u'И', u'u0438': u'и',
u'u0419': u'Й', u'u0439': u'й',
u'u041a': u'К', u'u043a': u'к',
u'u041b': u'Л', u'u043b': u'л',
u'u041c': u'М', u'u043c': u'м',
u'u041d': u'Н', u'u043d': u'н',
u'u041e': u'О', u'u043e': u'о',
u'u041f': u'П', u'u043f': u'п',
u'u0420': u'Р', u'u0440': u'р',
u'u0421': u'С', u'u0441': u'с',
u'u0422': u'Т', u'u0442': u'т',
u'u0423': u'У', u'u0443': u'у',
u'u0424': u'Ф', u'u0444': u'ф',
u'u0425': u'Х', u'u0445': u'х',
u'u0426': u'Ц', u'u0446': u'ц',
u'u0427': u'Ч', u'u0447': u'ч',
u'u0428': u'Ш', u'u0448': u'ш',
u'u0429': u'Щ', u'u0449': u'щ',
u'u042a': u'Ъ', u'u044a': u'ъ',
u'u042b': u'Ы', u'u044b': u'ы',
u'u042c': u'Ь', u'u044c': u'ь',
u'u042d': u'Э', u'u044d': u'э',
u'u042e': u'Ю', u'u044e': u'ю',
u'u042f': u'Я', u'u044f': u'я',
}
# -------------------------------------------------------
def save(self, *args, **kwargs):
text = ''
temp_list = []
old_list = self.characteristics.split("'")
del old_list[::2]
for elem in old_list:
# temp = (elem.split(':')[0], elem.split(':')[1])
# БОООЛЬШУУУЩИЙ ТАКОЙ КОСТЫЛИЩЕ-------------------------------------------
temp_first = elem.split(':')[0]
temp_second = elem.split(':')[1]
if temp_first.find(u'\\u') != -1:
temp_first_list = temp_first.split('\\')
temp_first = u''
if temp_first_list[0] == u'':
temp_first_list.pop(0)
for char in temp_first_list:
if char.find(u'u04') == -1:
temp_first += char
else:
if len(char) == 5:
temp_first += crutch.get(char)
else:
temp_first += crutch.get(char[:5])
temp_first += char[5:]
if temp_second.find(u'\\u') != -1:
temp_second_list = temp_second.split('\\')
temp_second = u''
if temp_second_list[0] == u'':
temp_second_list.pop(0)
for char in temp_second_list:
if char.find(u'u04') == -1:
temp_second += char
else:
if len(char) == 5:
temp_second += crutch.get(char)
else:
temp_second += crutch.get(char[:5])
temp_second += char[5:]
temp = (temp_first, temp_second)
# ------------------------------------------------------------------------
temp_list.append(temp)
old = dict(temp_list)
print(old)
temp = ItemCharacteristics.objects.filter(sections=self.section)
for elem in temp:
# temp_text = old.get(unicode(elem.title))
temp_text = old.get(elem.title)
if temp_text is None:
temp_text = 'xxx'
text += unicode(elem) + ':' + temp_text + ';'
self.characteristics = text
super(Items, self).save(*args, **kwargs)