Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2007 12:57:59

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Локализация validator`ов

Да все уже, все понял :) Всем спасибо :)

from turbogears import validators, util
import formencode

class Number(formencode.validators.Number):

messages = {
‘number’: ‘Введите число’,
}

def _to_python(self, value, state):
“”“ parse a string and returns a float or integer ”“”
try:
value = validators.format.parse_decimal(value)
except ValueError:
pass
return super(Number, self)._to_python(value, state)

def _from_python(self, value, state):
“”“ returns a string using the correct grouping ”“”
dec_places = util.find_precision(value)
if dec_places > 0:
return validators.format.format_decimal(value, dec_places)
else:
return validators.format.format_number(value)

v = Number()
tt=v.to_python('tt')



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#2 Янв. 10, 2007 13:05:06

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Локализация validator`ов

Да, еще, вдогонку. Стоит еще из value в _to_python перед преобразованием в число пробелы вырезать. Столкнулся недавно, Firefox разделяет ими триплеты в числе для красоты, а потом с ними и постит.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Янв. 30, 2007 06:42:49

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Локализация validator`ов

посидел с локализацией - проблему можно обойти:

def Int_utf(*args, **kw):
    if not kw.has_key(messages):
        kw['messages'] = {'integer': _("Please enter an integer value")}
    return formencode.validators.Int( *args, **kw)

правда код не очень, но работает



Офлайн

#4 Апрель 2, 2007 12:55:17

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Локализация validator`ов

OlDer
В FormEncode 6.1 это уже будет “из коробки” - я им русский перевод отправлял.
http://python.org/pypi/FormEncode/0.7.1
добавлено :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version