1/*[clinic input] 2preserve 3[clinic start generated code]*/ 4 5static PyObject * 6pysqlite_row_new_impl(PyTypeObject *type, pysqlite_Cursor *cursor, 7 PyObject *data); 8 9static PyObject * 10pysqlite_row_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) 11{ 12 PyObject *return_value = NULL; 13 pysqlite_Cursor *cursor; 14 PyObject *data; 15 16 if ((type == clinic_state()->RowType || 17 type->tp_init == clinic_state()->RowType->tp_init) && 18 !_PyArg_NoKeywords("Row", kwargs)) { 19 goto exit; 20 } 21 if (!_PyArg_CheckPositional("Row", PyTuple_GET_SIZE(args), 2, 2)) { 22 goto exit; 23 } 24 if (!PyObject_TypeCheck(PyTuple_GET_ITEM(args, 0), clinic_state()->CursorType)) { 25 _PyArg_BadArgument("Row", "argument 1", (clinic_state()->CursorType)->tp_name, PyTuple_GET_ITEM(args, 0)); 26 goto exit; 27 } 28 cursor = (pysqlite_Cursor *)PyTuple_GET_ITEM(args, 0); 29 if (!PyTuple_Check(PyTuple_GET_ITEM(args, 1))) { 30 _PyArg_BadArgument("Row", "argument 2", "tuple", PyTuple_GET_ITEM(args, 1)); 31 goto exit; 32 } 33 data = PyTuple_GET_ITEM(args, 1); 34 return_value = pysqlite_row_new_impl(type, cursor, data); 35 36exit: 37 return return_value; 38} 39 40PyDoc_STRVAR(pysqlite_row_keys__doc__, 41"keys($self, /)\n" 42"--\n" 43"\n" 44"Returns the keys of the row."); 45 46#define PYSQLITE_ROW_KEYS_METHODDEF \ 47 {"keys", (PyCFunction)pysqlite_row_keys, METH_NOARGS, pysqlite_row_keys__doc__}, 48 49static PyObject * 50pysqlite_row_keys_impl(pysqlite_Row *self); 51 52static PyObject * 53pysqlite_row_keys(pysqlite_Row *self, PyObject *Py_UNUSED(ignored)) 54{ 55 return pysqlite_row_keys_impl(self); 56} 57/*[clinic end generated code: output=9d54919dbb4ba5f1 input=a9049054013a1b77]*/ 58