mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-01-31 09:24:07 +03:00
Fixed problem with locales in mx.DateTime adaptation.
This commit is contained in:
parent
b651781f63
commit
d342d37e27
|
@ -1,5 +1,9 @@
|
|||
2007-01-16 Federico Di Gregorio <fog@initd.org>
|
||||
|
||||
* psycopg/adapt_mxdatetime.c: fixed #137 by accessing the 'date' and
|
||||
'time' attributes of the mx.DateTime instance: they are always in ISO
|
||||
format.
|
||||
|
||||
* psycopg/typecast_datetime.c: fixed problem with year > 9999.
|
||||
|
||||
2006-10-29 Federico Di Gregorio <fog@initd.org>
|
||||
|
|
|
@ -43,23 +43,22 @@ static PyObject *
|
|||
mxdatetime_str(mxdatetimeObject *self)
|
||||
{
|
||||
PyObject *str = NULL, *res = NULL;
|
||||
|
||||
PyObject *supa, *supb;
|
||||
|
||||
switch (self->type) {
|
||||
|
||||
case PSYCO_MXDATETIME_DATE:
|
||||
str = PyObject_GetAttrString(self->wrapped, "date");
|
||||
break;
|
||||
|
||||
case PSYCO_MXDATETIME_TIMESTAMP:
|
||||
str = PyObject_Str(self->wrapped);
|
||||
|
||||
/* given the limitation of the mx.DateTime module that uses the same
|
||||
type for both date and timestamp values we need to do some black
|
||||
magic and make sure we're not using an adapt()ed timestamp as a
|
||||
simple date */
|
||||
if (strncmp(&(PyString_AsString(str)[11]), "00:00:00.000", 12) == 0) {
|
||||
PyObject *tmp =
|
||||
PyString_FromStringAndSize(PyString_AsString(str), 10);
|
||||
Py_DECREF(str);
|
||||
str = tmp;
|
||||
}
|
||||
/* here we build the right ISO string from date and time */
|
||||
supa = PyObject_GetAttrString(self->wrapped, "date");
|
||||
supb = PyObject_GetAttrString(self->wrapped, "time");
|
||||
str = PyString_FromFormat("%sT%s",
|
||||
PyString_AsString(supa), PyString_AsString(supb));
|
||||
Py_XDECREF(supa);
|
||||
Py_XDECREF(supb);
|
||||
break;
|
||||
|
||||
case PSYCO_MXDATETIME_TIME:
|
||||
|
|
Loading…
Reference in New Issue
Block a user