summaryrefslogtreecommitdiff
path: root/systemd
Commit message (Collapse)AuthorAgeFilesLines
...
* systemd-python: fix wait bugSteven Hiscocks2015-07-051-2/+1
|
* Use initalization instead of explicit zeroingZbigniew Jędrzejewski-Szmek2015-07-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Before, we would initialize many fields twice: first by filling the structure with zeros, and then a second time with the real values. We can let the compiler do the job for us, avoiding one copy. A downside of this patch is that text gets slightly bigger. This is because all zero() calls are effectively inlined: $ size build/.libs/systemd text data bss dec hex filename before 897737 107300 2560 1007597 f5fed build/.libs/systemd after 897873 107300 2560 1007733 f6075 build/.libs/systemd … actually less than 1‰. A few asserts that the parameter is not null had to be removed. I don't think this changes much, because first, it is quite unlikely for the assert to fail, and second, an immediate SEGV is almost as good as an assert.
* systemd-python: allow retrieval of single fieldsZbigniew Jędrzejewski-Szmek2015-07-053-19/+103
| | | | | This can give huge efficiency gains, e.g. if only MESSAGE is required and all other fields can be ignored.
* systemd-python: split out realtime and monotonic into separate functionsZbigniew Jędrzejewski-Szmek2015-07-051-65/+99
| | | | | | | | | | | This matches the C API more closely, and also enables the user to get just partial information, should she desire to do so. Functions names in error messages are modified to not include the class name, because Python uses just the function name into functions declared as METH_NOARGS, and error messages were inconsistent.
* systemd-python: implement _Reader.test_cursorZbigniew Jędrzejewski-Szmek2015-07-051-20/+46
| | | | | | Getting the cursor is split out from .get_next() into .get_cursor(). This mirrors the C API more closely, and also makes things a bit faster if the cursor is not needed.
* systemd-python: cleanup up usec_t handlingZbigniew Jędrzejewski-Szmek2015-07-052-31/+28
| | | | | | | | | The behaviour wrt. seconds vs. microseconds was inconsistent. Now _Reader always uses native units (us), while Reader always uses seconds and accepts both floats and ints. This way the conversion is always done in the Python layer, and the lower level API allows access to the journal API without the potentially lossy conversion between double and uint64_t.
* systemd-python: export sd_journal_get_usageZbigniew Jędrzejewski-Szmek2015-07-051-6/+29
|
* Remove some unused variablesZbigniew Jędrzejewski-Szmek2015-07-051-1/+1
|
* systemd-python: small cleanupsZbigniew Jędrzejewski-Szmek2015-07-053-11/+31
| | | | | | - separate methods with two empty lines for clarity - avoid malloc(0) by specyfing private data size as -1 - add method name in error messages
* systemd-python: add journal.get_catalog()Zbigniew Jędrzejewski-Szmek2015-07-052-8/+48
| | | | | This one wraps sd_journal_get_catalog_from_message_id. Thanks to Python namespacing, we can stick to a shorter name.
* systemd-python: add _Reader.get_catalog()Zbigniew Jędrzejewski-Szmek2015-07-051-0/+24
| | | | This one wraps sd_journaal_get_catalog.
* systemd-python: add _Reader.closed attributeZbigniew Jędrzejewski-Szmek2015-07-051-2/+14
| | | | This should make the file interface of _Reader complete.
* systemd-python: allow Reader to be used as a context managerZbigniew Jędrzejewski-Szmek2015-07-051-0/+32
|
* systemd-python: add systemd.daemon wrapping sd-daemonZbigniew Jędrzejewski-Szmek2015-07-056-17/+412
| | | | | | | | | Please see the documentation (e.g. pydoc3 systemd.daemon) for full description. As usual, systemd._daemon wraps the raw interface, while systemd.daemon provides the more pythonic API. sd_listen_fds, sd_booted, sd_is_fifo, sd_is_socket, sd_is_socket_unix, sd_is_socket_inet, sd_is_mq, and SD_LISTEN_FDS_START are currently wrapped.
* man,html: say 'systemd 198' in the headerZbigniew Jędrzejewski-Szmek2015-07-051-1/+1
| | | | | | | This should help readers of the man or HTML pages know if the documentation is out of date. An alternative to use a date generated from 'git log' was considered, but since we try to keep user visible documentation up to date, showing the project version should be enough.
* python/docs: use the same links on top as in man pagesZbigniew Jędrzejewski-Szmek2015-07-052-0/+18
| | | | | I forgot to commit the layout file, because it was gitignored. Fixed now.
* html: make python docs look more like the restZbigniew Jędrzejewski-Szmek2015-07-052-2/+198
| | | | | The result is ugly enough, I hope, to motivate someone with design skills to fix it.
* systemd-python: provide version info to sphinxZbigniew Jędrzejewski-Szmek2015-07-051-9/+0
|
* systemd-python: fix segfault on double closeZbigniew Jędrzejewski-Szmek2015-07-051-0/+1
|
* systemd-python: fix typosZbigniew Jędrzejewski-Szmek2015-07-051-2/+2
|
* systemd-python: update documentation for new systemd-journal groupZbigniew Jędrzejewski-Szmek2015-07-051-1/+1
|
* systemd-python: refuse path and flags together in __init__Zbigniew Jędrzejewski-Szmek2015-07-052-10/+18
| | | | | | | | | It's better to explictly check, instead of just documenting it. The return value from init is changed from 1 to -1 on error. Python seems to ignore 1 every second time. Looks like a bug in Python, but the return value doesn't seem to be documented anywhere, and -1 works as expected... so let's just use that.
* systemd-python: export sd_j_get_fd, sd_j_reliable_fd, sd_j_closeZbigniew Jędrzejewski-Szmek2015-07-052-0/+60
| | | | | | | | | sd_journal_get_fd(j) is called j.fileno(), for compatiblity with Python conventions for file-like objects. More importantly, those new .seek_head() and .seek_tail() do not call .get_next(). This is better, if one wants to skip before retrieving an entry.
* systemd-python: split .seek() into .seek_head() and .seek_tail()Zbigniew Jędrzejewski-Szmek2015-07-053-58/+27
| | | | | This way python code follows the original interface more closely. Also, .seek(0, journal.SEEK_END) was just to much to type.
* systemd-python: catch only ValueErrors in conversion codeZbigniew Jędrzejewski-Szmek2015-07-051-38/+60
| | | | | | | | | | | | | | | | | | First of all, 'try: ... except: ...' (with no exception specified) is always a no-no, since it catches all BaseExceptions, which includes ^C and other stuff which should almost never be caught. Now the conversion is stricter, and only one conversion is attempted, and only a ValueEror is caught. It seems reasonable to catch ValueErrors, since the entries in the journal are not verified, and any erroneous application might log a field which cannot be converted. The consumer of events must only check if a field is an instance of bytes and can otherwise assume that the conversion was performed correctly. Order of arguments in Reader.__init__ has been changed to match order in _Reader.__init__. Conversions have been updated to work under Python 2 and 3.
* systemd-python: fix error check in _Reader.wait()Zbigniew Jędrzejewski-Szmek2015-07-051-2/+3
|
* systemd-python: add missing check for return of PyDict_SetItem in _reader.cLukas Nykryn2015-07-051-1/+1
|
* python-systemd: rename Journal to ReaderZbigniew Jędrzejewski-Szmek2015-07-053-77/+77
| | | | | | It seems inevitable that we'll also grow a writing interface, and then it'll be cumbersome to have a "Journal" for reading, and a "Writer" for writing.
* systemd-python: return both parts of sd_journal_get_monotonic_usecZbigniew Jędrzejewski-Szmek2015-07-053-13/+71
| | | | | In Python 3, a named tuple is used. In Python 2, a simple tuple is used. In either case, the pair is (timestamp, bootid).
* python-systemd: check all errors and use automatic cleanupZbigniew Jędrzejewski-Szmek2015-07-055-126/+253
| | | | | | | | __REALTIME_TIMESTAMP and __MONOTONIC_TIMESTAMP return ints. It doesn't make sense to convert to string, just to convert back to a number later on. Also try to follow systemd rules for indentation.
* systemd-python: hide ChainMap importZbigniew Jędrzejewski-Szmek2015-07-051-2/+2
|
* systemd-python: document attributesZbigniew Jędrzejewski-Szmek2015-07-052-0/+54
| | | | | In id128 it would be better to add everything automatically, but sphinx cannot do this right now.
* systemd-python: use PyModule_AddObject in id128Zbigniew Jędrzejewski-Szmek2015-07-051-2/+2
|
* systemd-python: polish the docstringsZbigniew Jędrzejewski-Szmek2015-07-053-57/+76
|
* systemd-python: indenation and style tweaksZbigniew Jędrzejewski-Szmek2015-07-051-97/+80
|
* systemd-python: downgrade _reader.c to C89Zbigniew Jędrzejewski-Szmek2015-07-051-81/+86
|
* systemd-python: add casts and fix unused variable warnings in _readerZbigniew Jędrzejewski-Szmek2015-07-051-24/+34
|
* systemd-python: wrap some python differences using macrosZbigniew Jędrzejewski-Szmek2015-07-051-48/+26
|
* systemd-python: introduce error setting helperZbigniew Jędrzejewski-Szmek2015-07-051-95/+42
|
* systemd-python: Added doc string for JournalSteven Hiscocks2015-07-051-0/+18
|
* systemd-python: Journal convert_unicode exception handling changeSteven Hiscocks2015-07-051-1/+1
| | | | Rather than catch all, is now limited to UnicodeDecodeError
* systemd-python: add Journal method to add MESSAGE_ID matchSteven Hiscocks2015-07-051-0/+9
|
* systemd-python: fix memory leak in _reader and minor bugsSteven Hiscocks2015-07-051-2/+3
| | | | | iternext now checks for error from get_next, and changed a DECREF to XDECREF rather than NULL check
* systemd-python: update Journal python docstringsSteven Hiscocks2015-07-052-19/+60
|
* systemd-python: tidy up import names in journalSteven Hiscocks2015-07-052-14/+18
|
* systemd-python: Journal this_boot/machine now accepts IDSteven Hiscocks2015-07-051-6/+21
|
* systemd-python: remove unneeded ifdef for query_uniqueSteven Hiscocks2015-07-051-4/+0
|
* systemd-python: _reader now takes unix timestamp in secondsSteven Hiscocks2015-07-052-4/+7
|
* systemd-python: Update _reader docstringsSteven Hiscocks2015-07-051-8/+5
|
* systemd-python: _reader add_match takes single stringSteven Hiscocks2015-07-052-100/+15
| | | | python code now takes care of multiple matches