From: alexander s. <a1...@us...> - 2006-12-01 11:44:17
|
Update of /cvsroot/dbfpy/dbfpy/dbfpy In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv19103 Modified Files: fields.py Log Message: Timestamp columns use None for empty values Index: fields.py =================================================================== RCS file: /cvsroot/dbfpy/dbfpy/dbfpy/fields.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** fields.py 31 Oct 2006 18:01:17 -0000 1.7 --- fields.py 1 Dec 2006 11:44:11 -0000 1.8 *************** *** 5,8 **** --- 5,9 ---- """ """History (most recent first): + 01-dec-2006 [als] Timestamp columns use None for empty values 31-oct-2006 [als] support field types 'F' (float), 'I' (integer) and 'Y' (currency); *************** *** 375,387 **** # LE byteorder _jdn, _msecs = struct.unpack("<2I", value) ! return datetime.datetime.fromordinal(_jdn - self.JDN_GDN_DIFF) + \ ! datetime.timedelta(0, _msecs / 1000.0) def encodeValue(self, value): """Return a string-encoded ``value``.""" ! value = utils.getDateTime(value) ! # LE byteorder ! _rv = struct.pack("<2I", value.toordinal() + self.JDN_GDN_DIFF, ! (value.hour * 3600 + value.minute * 60 + value.second) * 1000) assert len(_rv) == self.length return _rv --- 376,396 ---- # LE byteorder _jdn, _msecs = struct.unpack("<2I", value) ! if _jdn >= 1: ! _rv = datetime.datetime.fromordinal(_jdn - self.JDN_GDN_DIFF) ! _rv += datetime.timedelta(0, _msecs / 1000.0) ! else: ! # empty date ! _rv = None ! return _rv def encodeValue(self, value): """Return a string-encoded ``value``.""" ! if value: ! value = utils.getDateTime(value) ! # LE byteorder ! _rv = struct.pack("<2I", value.toordinal() + self.JDN_GDN_DIFF, ! (value.hour * 3600 + value.minute * 60 + value.second) * 1000) ! else: ! _rv = "\0" * self.length assert len(_rv) == self.length return _rv |