Branch data Line data Source code
1 : : /*[clinic input]
2 : : preserve
3 : : [clinic start generated code]*/
4 : :
5 : : static PyObject *
6 : : pysqlite_row_new_impl(PyTypeObject *type, pysqlite_Cursor *cursor,
7 : : PyObject *data);
8 : :
9 : : static PyObject *
10 : 17 : pysqlite_row_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
11 : : {
12 : 17 : PyObject *return_value = NULL;
13 : : pysqlite_Cursor *cursor;
14 : : PyObject *data;
15 : :
16 [ - + ]: 17 : if ((type == clinic_state()->RowType ||
17 [ - - + + ]: 17 : type->tp_init == clinic_state()->RowType->tp_init) &&
18 [ - + ]: 1 : !_PyArg_NoKeywords("Row", kwargs)) {
19 : 0 : goto exit;
20 : : }
21 [ + - - + : 17 : if (!_PyArg_CheckPositional("Row", PyTuple_GET_SIZE(args), 2, 2)) {
- - ]
22 : 0 : goto exit;
23 : : }
24 [ + + ]: 17 : if (!PyObject_TypeCheck(PyTuple_GET_ITEM(args, 0), clinic_state()->CursorType)) {
25 : 1 : _PyArg_BadArgument("Row", "argument 1", (clinic_state()->CursorType)->tp_name, PyTuple_GET_ITEM(args, 0));
26 : 1 : goto exit;
27 : : }
28 : 16 : cursor = (pysqlite_Cursor *)PyTuple_GET_ITEM(args, 0);
29 [ - + ]: 16 : if (!PyTuple_Check(PyTuple_GET_ITEM(args, 1))) {
30 : 0 : _PyArg_BadArgument("Row", "argument 2", "tuple", PyTuple_GET_ITEM(args, 1));
31 : 0 : goto exit;
32 : : }
33 : 16 : data = PyTuple_GET_ITEM(args, 1);
34 : 16 : return_value = pysqlite_row_new_impl(type, cursor, data);
35 : :
36 : 17 : exit:
37 : 17 : return return_value;
38 : : }
39 : :
40 : : PyDoc_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 : :
49 : : static PyObject *
50 : : pysqlite_row_keys_impl(pysqlite_Row *self);
51 : :
52 : : static PyObject *
53 : 1 : pysqlite_row_keys(pysqlite_Row *self, PyObject *Py_UNUSED(ignored))
54 : : {
55 : 1 : return pysqlite_row_keys_impl(self);
56 : : }
57 : : /*[clinic end generated code: output=9d54919dbb4ba5f1 input=a9049054013a1b77]*/
|