Esempio n. 1
0
 def convert_time():
     if not value:
         return
     try:
         return date_parse(value).time()
     except (ValueError, TypeError):
         return
Esempio n. 2
0
 def convert_time():
     if not value:
         return
     try:
         return date_parse(value).time()
     except (ValueError, TypeError):
         return
Esempio n. 3
0
 def convert_date():
     if not value:
         return
     format_ = context.get('date_format', '%x')
     try:
         return date_parse(value, format_).date()
     except (ValueError, TypeError):
         return
Esempio n. 4
0
 def convert_date():
     if not value:
         return
     format_ = context.get('date_format', '%x')
     try:
         return date_parse(value, format_).date()
     except (ValueError, TypeError):
         return
Esempio n. 5
0
 def parse(self):
     text = self.entry.get_text()
     value = None
     if text:
         try:
             value = date_parse(text, self._format)
         except ValueError:
             pass
     self._value = value
Esempio n. 6
0
 def convert_datetime():
     if not value:
         return
     format_ = context.get('date_format', '%x') + ' %X'
     try:
         dt = date_parse(value, format_)
         return untimezoned_date(dt)
     except ValueError:
         return
Esempio n. 7
0
 def parse(self):
     text = self.entry.get_text()
     value = None
     if text:
         try:
             value = date_parse(text, self._format)
         except ValueError:
             pass
     self._value = value
Esempio n. 8
0
 def convert_datetime():
     if not value:
         return
     format_ = (date_format(context.get('date_format')) + ' ' +
                time_format(field))
     try:
         dt = date_parse(value, format_)
         return untimezoned_date(dt)
     except ValueError:
         return
Esempio n. 9
0
 def convert_datetime():
     if not value:
         return
     format_ = context.get('date_format', '%X') + ' %x'
     try:
         dt = date_parse(value, format_)
         if dt.time() == datetime.time.min:
             return dt
         return untimezoned_date(dt)
     except ValueError:
         return
Esempio n. 10
0
 def import_csv(self, fname, fields):
     # TODO: make it works with references
     skip = self.csv_skip.get_value_as_int()
     encoding = self.get_encoding()
     locale_format = self.csv_locale.get_active()
     try:
         reader = csv.reader(open(fname, 'r', encoding=encoding),
                             quotechar=self.get_quotechar(),
                             delimiter=self.get_delimiter())
         data = []
         for i, line in enumerate(reader):
             if i < skip or not line:
                 continue
             row = []
             for field, val in zip(fields, line):
                 if locale_format and val:
                     type_ = self.fields_data[field]['type']
                     if type_ in ['integer', 'biginteger']:
                         val = locale.atoi(val)
                     elif type_ == 'float':
                         val = locale.atof(val)
                     elif type_ == 'numeric':
                         val = Decimal(locale.delocalize(val))
                     elif type_ in ['date', 'datetime']:
                         val = date_parse(val, common.date_format())
                     elif type_ == 'binary':
                         val = base64.b64decode(val)
                 row.append(val)
             data.append(row)
     except (IOError, UnicodeDecodeError, csv.Error) as exception:
         common.warning(str(exception), _("Import failed"))
         return
     try:
         count = RPCExecute('model',
                            self.model,
                            'import_data',
                            fields,
                            data,
                            context=self.context)
     except RPCException:
         return
     if count == 1:
         common.message(_('%d record imported.') % count)
     else:
         common.message(_('%d records imported.') % count)