1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4
5 #include "pycore_modsupport.h" // _PyArg_CheckPositional()
6
7 PyDoc_STRVAR(_contextvars_Context_get__doc__,
8 "get($self, key, default=None, /)\n"
9 "--\n"
10 "\n"
11 "Return the value for `key` if `key` has the value in the context object.\n"
12 "\n"
13 "If `key` does not exist, return `default`. If `default` is not given,\n"
14 "return None.");
15
16 #define _CONTEXTVARS_CONTEXT_GET_METHODDEF \
17 {"get", _PyCFunction_CAST(_contextvars_Context_get), METH_FASTCALL, _contextvars_Context_get__doc__},
18
19 static PyObject *
20 _contextvars_Context_get_impl(PyContext *self, PyObject *key,
21 PyObject *default_value);
22
23 static PyObject *
_contextvars_Context_get(PyContext * self,PyObject * const * args,Py_ssize_t nargs)24 _contextvars_Context_get(PyContext *self, PyObject *const *args, Py_ssize_t nargs)
25 {
26 PyObject *return_value = NULL;
27 PyObject *key;
28 PyObject *default_value = Py_None;
29
30 if (!_PyArg_CheckPositional("get", nargs, 1, 2)) {
31 goto exit;
32 }
33 key = args[0];
34 if (nargs < 2) {
35 goto skip_optional;
36 }
37 default_value = args[1];
38 skip_optional:
39 return_value = _contextvars_Context_get_impl(self, key, default_value);
40
41 exit:
42 return return_value;
43 }
44
45 PyDoc_STRVAR(_contextvars_Context_items__doc__,
46 "items($self, /)\n"
47 "--\n"
48 "\n"
49 "Return all variables and their values in the context object.\n"
50 "\n"
51 "The result is returned as a list of 2-tuples (variable, value).");
52
53 #define _CONTEXTVARS_CONTEXT_ITEMS_METHODDEF \
54 {"items", (PyCFunction)_contextvars_Context_items, METH_NOARGS, _contextvars_Context_items__doc__},
55
56 static PyObject *
57 _contextvars_Context_items_impl(PyContext *self);
58
59 static PyObject *
_contextvars_Context_items(PyContext * self,PyObject * Py_UNUSED (ignored))60 _contextvars_Context_items(PyContext *self, PyObject *Py_UNUSED(ignored))
61 {
62 return _contextvars_Context_items_impl(self);
63 }
64
65 PyDoc_STRVAR(_contextvars_Context_keys__doc__,
66 "keys($self, /)\n"
67 "--\n"
68 "\n"
69 "Return a list of all variables in the context object.");
70
71 #define _CONTEXTVARS_CONTEXT_KEYS_METHODDEF \
72 {"keys", (PyCFunction)_contextvars_Context_keys, METH_NOARGS, _contextvars_Context_keys__doc__},
73
74 static PyObject *
75 _contextvars_Context_keys_impl(PyContext *self);
76
77 static PyObject *
_contextvars_Context_keys(PyContext * self,PyObject * Py_UNUSED (ignored))78 _contextvars_Context_keys(PyContext *self, PyObject *Py_UNUSED(ignored))
79 {
80 return _contextvars_Context_keys_impl(self);
81 }
82
83 PyDoc_STRVAR(_contextvars_Context_values__doc__,
84 "values($self, /)\n"
85 "--\n"
86 "\n"
87 "Return a list of all variables\' values in the context object.");
88
89 #define _CONTEXTVARS_CONTEXT_VALUES_METHODDEF \
90 {"values", (PyCFunction)_contextvars_Context_values, METH_NOARGS, _contextvars_Context_values__doc__},
91
92 static PyObject *
93 _contextvars_Context_values_impl(PyContext *self);
94
95 static PyObject *
_contextvars_Context_values(PyContext * self,PyObject * Py_UNUSED (ignored))96 _contextvars_Context_values(PyContext *self, PyObject *Py_UNUSED(ignored))
97 {
98 return _contextvars_Context_values_impl(self);
99 }
100
101 PyDoc_STRVAR(_contextvars_Context_copy__doc__,
102 "copy($self, /)\n"
103 "--\n"
104 "\n"
105 "Return a shallow copy of the context object.");
106
107 #define _CONTEXTVARS_CONTEXT_COPY_METHODDEF \
108 {"copy", (PyCFunction)_contextvars_Context_copy, METH_NOARGS, _contextvars_Context_copy__doc__},
109
110 static PyObject *
111 _contextvars_Context_copy_impl(PyContext *self);
112
113 static PyObject *
_contextvars_Context_copy(PyContext * self,PyObject * Py_UNUSED (ignored))114 _contextvars_Context_copy(PyContext *self, PyObject *Py_UNUSED(ignored))
115 {
116 return _contextvars_Context_copy_impl(self);
117 }
118
119 PyDoc_STRVAR(_contextvars_ContextVar_get__doc__,
120 "get($self, default=<unrepresentable>, /)\n"
121 "--\n"
122 "\n"
123 "Return a value for the context variable for the current context.\n"
124 "\n"
125 "If there is no value for the variable in the current context, the method will:\n"
126 " * return the value of the default argument of the method, if provided; or\n"
127 " * return the default value for the context variable, if it was created\n"
128 " with one; or\n"
129 " * raise a LookupError.");
130
131 #define _CONTEXTVARS_CONTEXTVAR_GET_METHODDEF \
132 {"get", _PyCFunction_CAST(_contextvars_ContextVar_get), METH_FASTCALL, _contextvars_ContextVar_get__doc__},
133
134 static PyObject *
135 _contextvars_ContextVar_get_impl(PyContextVar *self, PyObject *default_value);
136
137 static PyObject *
_contextvars_ContextVar_get(PyContextVar * self,PyObject * const * args,Py_ssize_t nargs)138 _contextvars_ContextVar_get(PyContextVar *self, PyObject *const *args, Py_ssize_t nargs)
139 {
140 PyObject *return_value = NULL;
141 PyObject *default_value = NULL;
142
143 if (!_PyArg_CheckPositional("get", nargs, 0, 1)) {
144 goto exit;
145 }
146 if (nargs < 1) {
147 goto skip_optional;
148 }
149 default_value = args[0];
150 skip_optional:
151 return_value = _contextvars_ContextVar_get_impl(self, default_value);
152
153 exit:
154 return return_value;
155 }
156
157 PyDoc_STRVAR(_contextvars_ContextVar_set__doc__,
158 "set($self, value, /)\n"
159 "--\n"
160 "\n"
161 "Call to set a new value for the context variable in the current context.\n"
162 "\n"
163 "The required value argument is the new value for the context variable.\n"
164 "\n"
165 "Returns a Token object that can be used to restore the variable to its previous\n"
166 "value via the `ContextVar.reset()` method.");
167
168 #define _CONTEXTVARS_CONTEXTVAR_SET_METHODDEF \
169 {"set", (PyCFunction)_contextvars_ContextVar_set, METH_O, _contextvars_ContextVar_set__doc__},
170
171 PyDoc_STRVAR(_contextvars_ContextVar_reset__doc__,
172 "reset($self, token, /)\n"
173 "--\n"
174 "\n"
175 "Reset the context variable.\n"
176 "\n"
177 "The variable is reset to the value it had before the `ContextVar.set()` that\n"
178 "created the token was used.");
179
180 #define _CONTEXTVARS_CONTEXTVAR_RESET_METHODDEF \
181 {"reset", (PyCFunction)_contextvars_ContextVar_reset, METH_O, _contextvars_ContextVar_reset__doc__},
182 /*[clinic end generated code: output=b667826178444c3f input=a9049054013a1b77]*/
183