From: Steven Hiscocks Date: Sat, 16 Feb 2013 19:10:49 +0000 (+0000) Subject: systemd-python: _reader now takes unix timestamp in seconds X-Git-Tag: v198~140^2~22 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=518dc5dff557116db3f072eb9d0a9492b6226778 systemd-python: _reader now takes unix timestamp in seconds --- diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c index 7aa638b07..95e609416 100644 --- a/src/python-systemd/_reader.c +++ b/src/python-systemd/_reader.c @@ -336,14 +336,17 @@ Journal_seek(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 must be an integer unix timestamp in usecs."); +"`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; diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py index 279662e6a..ab8661e98 100644 --- a/src/python-systemd/journal.py +++ b/src/python-systemd/journal.py @@ -126,7 +126,7 @@ class Journal(_Journal): def seek_realtime(self, timestamp): if isinstance(timestamp, datetime.datetime): - timestamp = int(timestamp.strftime("%s%f")) + timestamp = float(timestamp.strftime("%s.%f")) return super(Journal, self).seek_realtime(timestamp) def seek_monotonic(self, timestamp, bootid=None):