diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-03-20 23:01:32 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-03-21 23:05:09 -0400 |
commit | 811de196b3c5e08fc1fc3bef7cb062efad784303 (patch) | |
tree | f8c192e418da4b7f9fef947f316f57f54b9734f9 /src/python-systemd/journal.py | |
parent | 5e8ba1a4601bcff83e45d1f4f26081611c3c6f2a (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.py | 10 |
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 |