Migrate datetime.date.fromtimestamp to Argument Clinic (GH-8535)
This commit is contained in:
parent
9718b59ee5
commit
a0fd7f1b55
|
@ -672,6 +672,7 @@ Benjamin Hodgson
|
||||||
Joerg-Cyril Hoehle
|
Joerg-Cyril Hoehle
|
||||||
Gregor Hoffleit
|
Gregor Hoffleit
|
||||||
Chris Hoffman
|
Chris Hoffman
|
||||||
|
Tim Hoffmann
|
||||||
Stefan Hoffmeister
|
Stefan Hoffmeister
|
||||||
Albert Hofkamp
|
Albert Hofkamp
|
||||||
Chris Hogan
|
Chris Hogan
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Migrate datetime.date.fromtimestamp to Argument Clinic. Patch by Tim Hoffmann.
|
|
@ -23,8 +23,9 @@
|
||||||
/*[clinic input]
|
/*[clinic input]
|
||||||
module datetime
|
module datetime
|
||||||
class datetime.datetime "PyDateTime_DateTime *" "&PyDateTime_DateTimeType"
|
class datetime.datetime "PyDateTime_DateTime *" "&PyDateTime_DateTimeType"
|
||||||
|
class datetime.date "PyDateTime_Date *" "&PyDateTime_DateType"
|
||||||
[clinic start generated code]*/
|
[clinic start generated code]*/
|
||||||
/*[clinic end generated code: output=da39a3ee5e6b4b0d input=78142cb64b9e98bc]*/
|
/*[clinic end generated code: output=da39a3ee5e6b4b0d input=25138ad6a696b785]*/
|
||||||
|
|
||||||
#include "clinic/_datetimemodule.c.h"
|
#include "clinic/_datetimemodule.c.h"
|
||||||
|
|
||||||
|
@ -2788,9 +2789,8 @@ date_new(PyTypeObject *type, PyObject *args, PyObject *kw)
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return new date from localtime(t). */
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
date_local_from_object(PyObject *cls, PyObject *obj)
|
date_fromtimestamp(PyObject *cls, PyObject *obj)
|
||||||
{
|
{
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
time_t t;
|
time_t t;
|
||||||
|
@ -2835,19 +2835,26 @@ date_today(PyObject *cls, PyObject *dummy)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return new date from given timestamp (Python timestamp -- a double). */
|
/*[clinic input]
|
||||||
|
@classmethod
|
||||||
|
datetime.date.fromtimestamp
|
||||||
|
|
||||||
|
timestamp: object
|
||||||
|
/
|
||||||
|
|
||||||
|
Create a date from a POSIX timestamp.
|
||||||
|
|
||||||
|
The timestamp is a number, e.g. created via time.time(), that is interpreted
|
||||||
|
as local time.
|
||||||
|
[clinic start generated code]*/
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
date_fromtimestamp(PyObject *cls, PyObject *args)
|
datetime_date_fromtimestamp(PyTypeObject *type, PyObject *timestamp)
|
||||||
|
/*[clinic end generated code: output=fd045fda58168869 input=eabb3fe7f40491fe]*/
|
||||||
{
|
{
|
||||||
PyObject *timestamp;
|
return date_fromtimestamp((PyObject *) type, timestamp);
|
||||||
PyObject *result = NULL;
|
|
||||||
|
|
||||||
if (PyArg_ParseTuple(args, "O:fromtimestamp", ×tamp))
|
|
||||||
result = date_local_from_object(cls, timestamp);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Return new date from proleptic Gregorian ordinal. Raises ValueError if
|
/* Return new date from proleptic Gregorian ordinal. Raises ValueError if
|
||||||
* the ordinal is out of range.
|
* the ordinal is out of range.
|
||||||
*/
|
*/
|
||||||
|
@ -3193,11 +3200,7 @@ date_reduce(PyDateTime_Date *self, PyObject *arg)
|
||||||
static PyMethodDef date_methods[] = {
|
static PyMethodDef date_methods[] = {
|
||||||
|
|
||||||
/* Class methods: */
|
/* Class methods: */
|
||||||
|
DATETIME_DATE_FROMTIMESTAMP_METHODDEF
|
||||||
{"fromtimestamp", (PyCFunction)date_fromtimestamp, METH_VARARGS |
|
|
||||||
METH_CLASS,
|
|
||||||
PyDoc_STR("timestamp -> local date from a POSIX timestamp (like "
|
|
||||||
"time.time()).")},
|
|
||||||
|
|
||||||
{"fromordinal", (PyCFunction)date_fromordinal, METH_VARARGS |
|
{"fromordinal", (PyCFunction)date_fromordinal, METH_VARARGS |
|
||||||
METH_CLASS,
|
METH_CLASS,
|
||||||
|
|
|
@ -2,6 +2,18 @@
|
||||||
preserve
|
preserve
|
||||||
[clinic start generated code]*/
|
[clinic start generated code]*/
|
||||||
|
|
||||||
|
PyDoc_STRVAR(datetime_date_fromtimestamp__doc__,
|
||||||
|
"fromtimestamp($type, timestamp, /)\n"
|
||||||
|
"--\n"
|
||||||
|
"\n"
|
||||||
|
"Create a date from a POSIX timestamp.\n"
|
||||||
|
"\n"
|
||||||
|
"The timestamp is a number, e.g. created via time.time(), that is interpreted\n"
|
||||||
|
"as local time.");
|
||||||
|
|
||||||
|
#define DATETIME_DATE_FROMTIMESTAMP_METHODDEF \
|
||||||
|
{"fromtimestamp", (PyCFunction)datetime_date_fromtimestamp, METH_O|METH_CLASS, datetime_date_fromtimestamp__doc__},
|
||||||
|
|
||||||
PyDoc_STRVAR(datetime_datetime_now__doc__,
|
PyDoc_STRVAR(datetime_datetime_now__doc__,
|
||||||
"now($type, /, tz=None)\n"
|
"now($type, /, tz=None)\n"
|
||||||
"--\n"
|
"--\n"
|
||||||
|
@ -36,4 +48,4 @@ datetime_datetime_now(PyTypeObject *type, PyObject *const *args, Py_ssize_t narg
|
||||||
exit:
|
exit:
|
||||||
return return_value;
|
return return_value;
|
||||||
}
|
}
|
||||||
/*[clinic end generated code: output=1fc05897ab239b3f input=a9049054013a1b77]*/
|
/*[clinic end generated code: output=7fd14bd67749da23 input=a9049054013a1b77]*/
|
||||||
|
|
Loading…
Reference in New Issue