chiark / gitweb /
systemd-python: _reader now takes unix timestamp in seconds
[elogind.git] / src / python-systemd / journal.py
index db35ba20056b3f0986b3b2e82806562d91118f10..ab8661e987343f636f3fcd5351b72fe86120cd74 100644 (file)
@@ -113,7 +113,8 @@ class Journal(_Journal):
     def add_match(self, *args, **kwargs):
         args = list(args)
         args.extend(_make_line(key, val) for key, val in kwargs.items())
-        super(Journal, self).add_match(*args)
+        for arg in args:
+            super(Journal, self).add_match(arg)
 
     def get_next(self, skip=1):
         return self._convert_entry(
@@ -123,6 +124,16 @@ class Journal(_Journal):
         return set(self._convert_field(key, value)
             for value in super(Journal, self).query_unique(key))
 
+    def seek_realtime(self, timestamp):
+        if isinstance(timestamp, datetime.datetime):
+            timestamp = float(timestamp.strftime("%s.%f"))
+        return super(Journal, self).seek_realtime(timestamp)
+
+    def seek_monotonic(self, timestamp, bootid=None):
+        if isinstance(timestamp, datetime.timedelta):
+            timestamp = timestamp.totalseconds()
+        return super(Journal, self).seek_monotonic(timestamp, bootid)
+
     def log_level(self, level):
         """Sets maximum log level by setting matches for PRIORITY."""
         if 0 <= level <= 7: