Ejemplo n.º 1
1
    def normalize_field(self, value):
        if isinstance(value, basestring):
            locale = settings.get_locale()

            date_str, time_str = value.split(' ')
            date = dates.parse_date(date_str, locale)
            time = dates.parse_time(time_str, locale)
            dtime = datetime.datetime(date.year, date.month, date.day, time.hour, time.minute, time.second)
            dtime = settings.get_timezone().localize(dtime)
            utc_dt = dates.UTC.normalize(dtime)
            return utc_dt.replace(tzinfo=None)

        return super(DateTimeField, self).normalize_field(value)
Ejemplo n.º 2
0
 def get_date_format(self):
     pattern = dates.get_date_format(format=self.format, locale=settings.get_locale()).pattern
     for c in ('M', 'd', 'yy'):
         double_char = c * 2
         if double_char not in pattern:
             pattern = pattern.replace(c, double_char)
     return pattern
Ejemplo n.º 3
0
 def normalize_field(self, value):
     if isinstance(value, (int, float)):
         return value
     if value == '':
         value = None
     elif value is not None:
         value = float(parse_decimal(value, locale=settings.get_locale()))
     return super(FloatField, self).normalize_field(value)
Ejemplo n.º 4
0
 def normalize_field(self, value):
     if value == '':
         value = None
     if isinstance(value, int):
         return value
     elif value is not None:
         locale = settings.get_locale()
         value = int(parse_decimal(value, locale=locale))
     return super(IntegerField, self).normalize_field(value)
Ejemplo n.º 5
0
 def normalize_field(self, value):
     if isinstance(value, Decimal):
         return value
     if value == '':
         value = None
     elif value is not None:
         value = parse_decimal(value, locale=settings.get_locale())
         rounded = int(round(Decimal(value) * self.__multiplier))
         value = Decimal(rounded) / self.__multiplier
     return super(DecimalField, self).normalize_field(value)
Ejemplo n.º 6
0
 def normalize_field(self, value):
     if isinstance(value, basestring):
         return parse_date(value, locale=settings.get_locale())
     return super(DateField, self).normalize_field(value)
Ejemplo n.º 7
0
 def localize_field(self, value):
     if value is not None and value != '':
         return format_decimal(value, locale=settings.get_locale())
     return super(DecimalField, self).localize_field(value)