From 518dc5dff557116db3f072eb9d0a9492b6226778 Mon Sep 17 00:00:00 2001 From: Steven Hiscocks Date: Sat, 16 Feb 2013 19:10:49 +0000 Subject: [PATCH] systemd-python: _reader now takes unix timestamp in seconds --- src/python-systemd/_reader.c | 9 ++++++--- src/python-systemd/journal.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) 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): -- 2.30.2