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
|
||||
Gregor Hoffleit
|
||||
Chris Hoffman
|
||||
Tim Hoffmann
|
||||
Stefan Hoffmeister
|
||||
Albert Hofkamp
|
||||
Chris Hogan
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Migrate datetime.date.fromtimestamp to Argument Clinic. Patch by Tim Hoffmann.
|
|
@ -23,8 +23,9 @@
|
|||
/*[clinic input]
|
||||
module datetime
|
||||
class datetime.datetime "PyDateTime_DateTime *" "&PyDateTime_DateTimeType"
|
||||
class datetime.date "PyDateTime_Date *" "&PyDateTime_DateType"
|
||||
[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"
|
||||
|
||||
|
@ -2788,9 +2789,8 @@ date_new(PyTypeObject *type, PyObject *args, PyObject *kw)
|
|||
return self;
|
||||
}
|
||||
|
||||
/* Return new date from localtime(t). */
|
||||
static PyObject *
|
||||
date_local_from_object(PyObject *cls, PyObject *obj)
|
||||
date_fromtimestamp(PyObject *cls, PyObject *obj)
|
||||
{
|
||||
struct tm tm;
|
||||
time_t t;
|
||||
|
@ -2835,19 +2835,26 @@ date_today(PyObject *cls, PyObject *dummy)
|
|||
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 *
|
||||
date_fromtimestamp(PyObject *cls, PyObject *args)
|
||||
datetime_date_fromtimestamp(PyTypeObject *type, PyObject *timestamp)
|
||||
/*[clinic end generated code: output=fd045fda58168869 input=eabb3fe7f40491fe]*/
|
||||
{
|
||||
PyObject *timestamp;
|
||||
PyObject *result = NULL;
|
||||
|
||||
if (PyArg_ParseTuple(args, "O:fromtimestamp", ×tamp))
|
||||
result = date_local_from_object(cls, timestamp);
|
||||
return result;
|
||||
return date_fromtimestamp((PyObject *) type, timestamp);
|
||||
}
|
||||
|
||||
|
||||
/* Return new date from proleptic Gregorian ordinal. Raises ValueError if
|
||||
* the ordinal is out of range.
|
||||
*/
|
||||
|
@ -3193,11 +3200,7 @@ date_reduce(PyDateTime_Date *self, PyObject *arg)
|
|||
static PyMethodDef date_methods[] = {
|
||||
|
||||
/* Class methods: */
|
||||
|
||||
{"fromtimestamp", (PyCFunction)date_fromtimestamp, METH_VARARGS |
|
||||
METH_CLASS,
|
||||
PyDoc_STR("timestamp -> local date from a POSIX timestamp (like "
|
||||
"time.time()).")},
|
||||
DATETIME_DATE_FROMTIMESTAMP_METHODDEF
|
||||
|
||||
{"fromordinal", (PyCFunction)date_fromordinal, METH_VARARGS |
|
||||
METH_CLASS,
|
||||
|
|
|
@ -2,6 +2,18 @@
|
|||
preserve
|
||||
[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__,
|
||||
"now($type, /, tz=None)\n"
|
||||
"--\n"
|
||||
|
@ -36,4 +48,4 @@ datetime_datetime_now(PyTypeObject *type, PyObject *const *args, Py_ssize_t narg
|
|||
exit:
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=1fc05897ab239b3f input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=7fd14bd67749da23 input=a9049054013a1b77]*/
|
||||
|
|
Loading…
Reference in New Issue