History

python/ext/py-sink.c: add 'with' interface (PEP 343)

Paul Brossier committed 9 years ago

Commit fcb6e8c1 parent 8b7cdba1 file · +15 −0Browse files

Showing the changes to python (1 of 1 file). Show all

Unified · Split

python/ext/py-sink.c+15−0
@@ -203,10 +203,25 @@ Pyaubio_sink_close (Py_sink *self, PyObject *unused) · 202 unmodified lines
203203 Py_RETURN_NONE;
204204 }
205205
206+static char Pyaubio_sink_enter_doc[] = "";
207+static PyObject* Pyaubio_sink_enter(Py_sink *self, PyObject *unused) {
208+ Py_INCREF(self);
209+ return (PyObject*)self;
210+}
211+
212+static char Pyaubio_sink_exit_doc[] = "";
213+static PyObject* Pyaubio_sink_exit(Py_sink *self, PyObject *unused) {
214+ return Pyaubio_sink_close(self, unused);
215+}
216+
206217 static PyMethodDef Py_sink_methods[] = {
207218 {"do", (PyCFunction) Py_sink_do, METH_VARARGS, Py_sink_do_doc},
208219 {"do_multi", (PyCFunction) Py_sink_do_multi, METH_VARARGS, Py_sink_do_multi_doc},
209220 {"close", (PyCFunction) Pyaubio_sink_close, METH_NOARGS, Py_sink_close_doc},
221+ {"__enter__", (PyCFunction)Pyaubio_sink_enter, METH_NOARGS,
222+ Pyaubio_sink_enter_doc},
223+ {"__exit__", (PyCFunction)Pyaubio_sink_exit, METH_VARARGS,
224+ Pyaubio_sink_exit_doc},
210225 {NULL} /* sentinel */
211226 };
212227

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t