summaryrefslogtreecommitdiff
path: root/src/python-systemd/journal.py
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-03-20 23:01:32 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-03-21 23:05:09 -0400
commit811de196b3c5e08fc1fc3bef7cb062efad784303 (patch)
treef8c192e418da4b7f9fef947f316f57f54b9734f9 /src/python-systemd/journal.py
parent5e8ba1a4601bcff83e45d1f4f26081611c3c6f2a (diff)
systemd-python: allow retrieval of single fields
This can give huge efficiency gains, e.g. if only MESSAGE is required and all other fields can be ignored.
Diffstat (limited to 'src/python-systemd/journal.py')
-rw-r--r--src/python-systemd/journal.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
index a522aecc70..c918c439b5 100644
--- a/src/python-systemd/journal.py
+++ b/src/python-systemd/journal.py
@@ -35,7 +35,7 @@ from syslog import (LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR,
from ._journal import sendv, stream_fd
from ._reader import (_Reader, NOP, APPEND, INVALIDATE,
LOCAL_ONLY, RUNTIME_ONLY, SYSTEM_ONLY,
- get_catalog)
+ _get_catalog)
from . import id128 as _id128
if _sys.version_info >= (3,):
@@ -137,6 +137,9 @@ class Reader(_Reader):
the conversion fails with a ValueError, unconverted bytes
object will be returned. (Note that ValueEror is a superclass
of UnicodeDecodeError).
+
+ Reader implements the context manager protocol: the journal
+ will be closed when exiting the block.
"""
super(Reader, self).__init__(flags, path)
if _sys.version_info >= (3,3):
@@ -293,6 +296,11 @@ class Reader(_Reader):
self.add_match(_MACHINE_ID=machineid)
+def get_catalog(mid):
+ if isinstance(mid, _uuid.UUID):
+ mid = mid.get_hex()
+ return _get_catalog(mid)
+
def _make_line(field, value):
if isinstance(value, bytes):
return field.encode('utf-8') + b'=' + value