} Reader;
static PyTypeObject ReaderType;
-static int set_error(int r, const char* path, const char* invalid_message) {
- if (r >= 0)
- return r;
- if (r == -EINVAL && invalid_message)
- PyErr_SetString(PyExc_ValueError, invalid_message);
- else if (r == -ENOMEM)
- PyErr_SetString(PyExc_MemoryError, "Not enough memory");
- else {
- errno = -r;
- PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
- }
- return -1;
-}
-
PyDoc_STRVAR(module__doc__,
"Class to reads the systemd journal similar to journalctl.");
"Returns a timeout value for usage in poll(), the time since the\n"
"epoch of clock_gettime(2) in microseconds, or None if no timeout\n"
"is necessary.\n\n"
- "The return value must be converted to a relative timeout in \n"
+ "The return value must be converted to a relative timeout in\n"
"milliseconds if it is to be used as an argument for poll().\n"
"See man:sd_journal_get_timeout(3) for further discussion.");
static PyObject* Reader_get_timeout(Reader *self, PyObject *args)
"Closes the journal.\n");
static PyObject* Reader___exit__(Reader *self, PyObject *args)
{
- assert(self);
-
- sd_journal_close(self->j);
- self->j = NULL;
- Py_RETURN_NONE;
+ return Reader_close(self, args);
}
PyModule_AddIntConstant(m, "INVALIDATE", SD_JOURNAL_INVALIDATE) ||
PyModule_AddIntConstant(m, "LOCAL_ONLY", SD_JOURNAL_LOCAL_ONLY) ||
PyModule_AddIntConstant(m, "RUNTIME_ONLY", SD_JOURNAL_RUNTIME_ONLY) ||
+ PyModule_AddIntConstant(m, "SYSTEM", SD_JOURNAL_SYSTEM) ||
PyModule_AddIntConstant(m, "SYSTEM_ONLY", SD_JOURNAL_SYSTEM_ONLY) ||
PyModule_AddStringConstant(m, "__version__", PACKAGE_VERSION)) {
#if PY_MAJOR_VERSION >= 3