Branch data Line data Source code
1 : : /*[clinic input]
2 : : preserve
3 : : [clinic start generated code]*/
4 : :
5 : : #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
6 : : # include "pycore_gc.h" // PyGC_Head
7 : : # include "pycore_runtime.h" // _Py_ID()
8 : : #endif
9 : :
10 : :
11 : : PyDoc_STRVAR(_csv_list_dialects__doc__,
12 : : "list_dialects($module, /)\n"
13 : : "--\n"
14 : : "\n"
15 : : "Return a list of all known dialect names.\n"
16 : : "\n"
17 : : " names = csv.list_dialects()");
18 : :
19 : : #define _CSV_LIST_DIALECTS_METHODDEF \
20 : : {"list_dialects", (PyCFunction)_csv_list_dialects, METH_NOARGS, _csv_list_dialects__doc__},
21 : :
22 : : static PyObject *
23 : : _csv_list_dialects_impl(PyObject *module);
24 : :
25 : : static PyObject *
26 : 0 : _csv_list_dialects(PyObject *module, PyObject *Py_UNUSED(ignored))
27 : : {
28 : 0 : return _csv_list_dialects_impl(module);
29 : : }
30 : :
31 : : PyDoc_STRVAR(_csv_unregister_dialect__doc__,
32 : : "unregister_dialect($module, /, name)\n"
33 : : "--\n"
34 : : "\n"
35 : : "Delete the name/dialect mapping associated with a string name.\n"
36 : : "\n"
37 : : " csv.unregister_dialect(name)");
38 : :
39 : : #define _CSV_UNREGISTER_DIALECT_METHODDEF \
40 : : {"unregister_dialect", _PyCFunction_CAST(_csv_unregister_dialect), METH_FASTCALL|METH_KEYWORDS, _csv_unregister_dialect__doc__},
41 : :
42 : : static PyObject *
43 : : _csv_unregister_dialect_impl(PyObject *module, PyObject *name);
44 : :
45 : : static PyObject *
46 : 0 : _csv_unregister_dialect(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
47 : : {
48 : 0 : PyObject *return_value = NULL;
49 : : #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
50 : :
51 : : #define NUM_KEYWORDS 1
52 : : static struct {
53 : : PyGC_Head _this_is_not_used;
54 : : PyObject_VAR_HEAD
55 : : PyObject *ob_item[NUM_KEYWORDS];
56 : : } _kwtuple = {
57 : : .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS)
58 : : .ob_item = { &_Py_ID(name), },
59 : : };
60 : : #undef NUM_KEYWORDS
61 : : #define KWTUPLE (&_kwtuple.ob_base.ob_base)
62 : :
63 : : #else // !Py_BUILD_CORE
64 : : # define KWTUPLE NULL
65 : : #endif // !Py_BUILD_CORE
66 : :
67 : : static const char * const _keywords[] = {"name", NULL};
68 : : static _PyArg_Parser _parser = {
69 : : .keywords = _keywords,
70 : : .fname = "unregister_dialect",
71 : : .kwtuple = KWTUPLE,
72 : : };
73 : : #undef KWTUPLE
74 : : PyObject *argsbuf[1];
75 : : PyObject *name;
76 : :
77 [ # # # # : 0 : args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
# # # # ]
78 [ # # ]: 0 : if (!args) {
79 : 0 : goto exit;
80 : : }
81 : 0 : name = args[0];
82 : 0 : return_value = _csv_unregister_dialect_impl(module, name);
83 : :
84 : 0 : exit:
85 : 0 : return return_value;
86 : : }
87 : :
88 : : PyDoc_STRVAR(_csv_get_dialect__doc__,
89 : : "get_dialect($module, /, name)\n"
90 : : "--\n"
91 : : "\n"
92 : : "Return the dialect instance associated with name.\n"
93 : : "\n"
94 : : " dialect = csv.get_dialect(name)");
95 : :
96 : : #define _CSV_GET_DIALECT_METHODDEF \
97 : : {"get_dialect", _PyCFunction_CAST(_csv_get_dialect), METH_FASTCALL|METH_KEYWORDS, _csv_get_dialect__doc__},
98 : :
99 : : static PyObject *
100 : : _csv_get_dialect_impl(PyObject *module, PyObject *name);
101 : :
102 : : static PyObject *
103 : 0 : _csv_get_dialect(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
104 : : {
105 : 0 : PyObject *return_value = NULL;
106 : : #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
107 : :
108 : : #define NUM_KEYWORDS 1
109 : : static struct {
110 : : PyGC_Head _this_is_not_used;
111 : : PyObject_VAR_HEAD
112 : : PyObject *ob_item[NUM_KEYWORDS];
113 : : } _kwtuple = {
114 : : .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS)
115 : : .ob_item = { &_Py_ID(name), },
116 : : };
117 : : #undef NUM_KEYWORDS
118 : : #define KWTUPLE (&_kwtuple.ob_base.ob_base)
119 : :
120 : : #else // !Py_BUILD_CORE
121 : : # define KWTUPLE NULL
122 : : #endif // !Py_BUILD_CORE
123 : :
124 : : static const char * const _keywords[] = {"name", NULL};
125 : : static _PyArg_Parser _parser = {
126 : : .keywords = _keywords,
127 : : .fname = "get_dialect",
128 : : .kwtuple = KWTUPLE,
129 : : };
130 : : #undef KWTUPLE
131 : : PyObject *argsbuf[1];
132 : : PyObject *name;
133 : :
134 [ # # # # : 0 : args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
# # # # ]
135 [ # # ]: 0 : if (!args) {
136 : 0 : goto exit;
137 : : }
138 : 0 : name = args[0];
139 : 0 : return_value = _csv_get_dialect_impl(module, name);
140 : :
141 : 0 : exit:
142 : 0 : return return_value;
143 : : }
144 : :
145 : : PyDoc_STRVAR(_csv_field_size_limit__doc__,
146 : : "field_size_limit($module, /, new_limit=<unrepresentable>)\n"
147 : : "--\n"
148 : : "\n"
149 : : "Sets an upper limit on parsed fields.\n"
150 : : "\n"
151 : : " csv.field_size_limit([limit])\n"
152 : : "\n"
153 : : "Returns old limit. If limit is not given, no new limit is set and\n"
154 : : "the old limit is returned");
155 : :
156 : : #define _CSV_FIELD_SIZE_LIMIT_METHODDEF \
157 : : {"field_size_limit", _PyCFunction_CAST(_csv_field_size_limit), METH_FASTCALL|METH_KEYWORDS, _csv_field_size_limit__doc__},
158 : :
159 : : static PyObject *
160 : : _csv_field_size_limit_impl(PyObject *module, PyObject *new_limit);
161 : :
162 : : static PyObject *
163 : 0 : _csv_field_size_limit(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
164 : : {
165 : 0 : PyObject *return_value = NULL;
166 : : #if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
167 : :
168 : : #define NUM_KEYWORDS 1
169 : : static struct {
170 : : PyGC_Head _this_is_not_used;
171 : : PyObject_VAR_HEAD
172 : : PyObject *ob_item[NUM_KEYWORDS];
173 : : } _kwtuple = {
174 : : .ob_base = PyVarObject_HEAD_INIT(&PyTuple_Type, NUM_KEYWORDS)
175 : : .ob_item = { &_Py_ID(new_limit), },
176 : : };
177 : : #undef NUM_KEYWORDS
178 : : #define KWTUPLE (&_kwtuple.ob_base.ob_base)
179 : :
180 : : #else // !Py_BUILD_CORE
181 : : # define KWTUPLE NULL
182 : : #endif // !Py_BUILD_CORE
183 : :
184 : : static const char * const _keywords[] = {"new_limit", NULL};
185 : : static _PyArg_Parser _parser = {
186 : : .keywords = _keywords,
187 : : .fname = "field_size_limit",
188 : : .kwtuple = KWTUPLE,
189 : : };
190 : : #undef KWTUPLE
191 : : PyObject *argsbuf[1];
192 [ # # ]: 0 : Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0;
193 : 0 : PyObject *new_limit = NULL;
194 : :
195 [ # # # # : 0 : args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf);
# # # # ]
196 [ # # ]: 0 : if (!args) {
197 : 0 : goto exit;
198 : : }
199 [ # # ]: 0 : if (!noptargs) {
200 : 0 : goto skip_optional_pos;
201 : : }
202 : 0 : new_limit = args[0];
203 : 0 : skip_optional_pos:
204 : 0 : return_value = _csv_field_size_limit_impl(module, new_limit);
205 : :
206 : 0 : exit:
207 : 0 : return return_value;
208 : : }
209 : : /*[clinic end generated code: output=94374e41eb2806ee input=a9049054013a1b77]*/
|