}
PyDoc_STRVAR(Journal_add_match__doc__,
-"add_match(match, ..., field=value, ...) -> None\n\n"
+"add_match(match) -> None\n\n"
"Add a match to filter journal log entries. All matches of different\n"
-"field are combined in logical AND, and matches of the same field\n"
+"fields are combined in logical AND, and matches of the same field\n"
"are automatically combined in logical OR.\n"
-"Matches can be passed as strings \"field=value\", or keyword\n"
-"arguments field=\"value\".");
+"Match is string of form \"field=value\".");
static PyObject *
Journal_add_match(Journal *self, PyObject *args, PyObject *keywds)
{
PyDoc_STRVAR(Journal_seek_realtime__doc__,
"seek_realtime(realtime) -> None\n\n"
"Seek to nearest matching journal entry to `realtime`. Argument\n"
-"`realtime` can be an integer unix timestamp in usecs or a "
-"datetime instance.");
+"`realtime` can must be an integer unix timestamp.");
static PyObject *
Journal_seek_realtime(Journal *self, PyObject *args)
{
- uint64_t timestamp;
- if (! PyArg_ParseTuple(args, "K", ×tamp))
+ double timedouble;
+ if (! PyArg_ParseTuple(args, "d", &timedouble))
return NULL;
+ uint64_t timestamp;
+ timestamp = (uint64_t) (timedouble * 1.0E6);
+
if ((int64_t) timestamp < 0LL) {
PyErr_SetString(PyExc_ValueError, "Time must be positive integer");
return NULL;
PyDoc_STRVAR(Journal_seek_monotonic__doc__,
"seek_monotonic(monotonic[, bootid]) -> None\n\n"
"Seek to nearest matching journal entry to `monotonic`. Argument\n"
-"`monotonic` is an timestamp from boot in secs, or a\n"
-"timedelta instance.\n"
+"`monotonic` is an timestamp from boot in seconds.\n"
"Argument `bootid` is a string representing which boot the\n"
"monotonic time is reference to. Defaults to current bootid.");
static PyObject *
}
}
-#ifdef SD_JOURNAL_FOREACH_UNIQUE
PyDoc_STRVAR(Journal_query_unique__doc__,
"query_unique(field) -> a set of values\n\n"
"Returns a set of unique values in journal for given `field`.\n"
Py_DECREF(key);
return value_set;
}
-#endif //def SD_JOURNAL_FOREACH_UNIQUE
static PyObject *
Journal_get_data_threshold(Journal *self, void *closure)
Journal_wait__doc__},
{"seek_cursor", (PyCFunction)Journal_seek_cursor, METH_VARARGS,
Journal_seek_cursor__doc__},
-#ifdef SD_JOURNAL_FOREACH_UNIQUE
{"query_unique", (PyCFunction)Journal_query_unique, METH_VARARGS,
Journal_query_unique__doc__},
-#endif
{NULL} /* Sentinel */
};