summaryrefslogtreecommitdiff
path: root/src/python-systemd
AgeCommit message (Collapse)Author
2014-02-20python: reindent _reader.cLennart Poettering
All files should follow our coding style, and that means 8ch indenting. Let's correct that.
2014-02-20macro: introduce nice macro for disabling -Wmissing-prototypes warnigsLennart Poettering
2014-01-31util: use alloca0() intead of alloca() + memzero()Lennart Poettering
2014-01-31use memzero(foo, length); for all memset(foo, 0, length); callsGreg KH
In trying to track down a stupid linker bug, I noticed a bunch of memset() calls that should be using memzero() to make it more "obvious" that the options are correct (i.e. 0 is not the length, but the data to set). So fix up all current calls to memset(foo, 0, length) to memzero(foo, length).
2013-12-30systemd-python: fix listen_fds under Python 2Zbigniew Jędrzejewski-Szmek
2013-12-30systemd-python: fix setting of exception codesZbigniew Jędrzejewski-Szmek
The return value of 0 would be treated as failure by mistake, resulting in " SystemError: error return without exception set". The way that set_error() is used is changed to be the same everywhere.
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }
2013-11-12systemd-python: fix booted() and add two functions to docsZbigniew Jędrzejewski-Szmek
For some reason sphinx doesn't want to show inherited C functions.
2013-11-07systemd-python: convert keyword value to stringRichard Marko
Allows using journal.send('msg', PRIORITY=journal.LOG_CRIT) Before this commit this results in TypeError: cannot concatenate 'str' and 'int' objects and requires passing PRIORITY value as string to work.
2013-08-15systemd-python: check for oom, give nicer error messagesZbigniew Jędrzejewski-Szmek
2013-08-15systemd-python: fix initialization of _Reader objectsSteven Hiscocks
https://bugzilla.redhat.com/show_bug.cgi?id=995575
2013-07-26systemd-python: fix gcc warningZbigniew Jędrzejewski-Szmek
src/python-systemd/_reader.c: In function Reader_get_catalog: src/python-systemd/_reader.c:912:53: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] assert(mid_len > l); ^
2013-07-26systemd-python: use modern CZbigniew Jędrzejewski-Szmek
2013-07-18systemd-python: also update the documentationZbigniew Jędrzejewski-Szmek
sphinx, oh sphinx, why do you require manual ficksups all the time?
2013-07-17systemd-python: add support for sd_j_open_filesZbigniew Jędrzejewski-Szmek
Also export missing flags.
2013-07-17systemd-python: fix iterationZbigniew Jędrzejewski-Szmek
Back in 6a58bf4135 raising stop iteration was removed from the C code, but wasn't added in the Python counterpart.
2013-07-05systemd-python: wrap sd_notifyZbigniew Jędrzejewski-Szmek
_listen_fds() is modified to accept unset_environment arg as keyword, to match new notify().
2013-06-10journal: add ability to filter by current userZbigniew Jędrzejewski-Szmek
This is the just the library part. SD_JOURNAL_CURRENT_USER flags is added to sd_j_open(), to open files from current user. SD_JOURNAL_SYSTEM_ONLY is renamed to SD_JOURNAL_SYSTEM, and changed to mean to (also) open system files. This way various flags can be combined, which gives them nicer semantics, especially if other ones are added later. Backwards compatibility is kept, because SD_JOURNAL_SYSTEM_ONLY is equivalent to SD_JOURNAL_SYSTEM if used alone, and before there we no other flags.
2013-05-16systemd-python: do not attempt to convert str to bytesZbigniew Jędrzejewski-Szmek
Bug-spotted-by: Steven Hiscocks <steven-systemd@hiscocks.me.uk>
2013-05-09systemd-python: allow threads around flushZbigniew Jędrzejewski-Szmek
flush() is potentially costly.
2013-05-09systemd-python: use consistent indentationZbigniew Jędrzejewski-Szmek
2013-05-09systemd-python: wrap sd_login_monitorZbigniew Jędrzejewski-Szmek
2013-05-08systemd-python: add wrappers for easy functions in sd-loginZbigniew Jędrzejewski-Szmek
sd_get_uids, sd_get_seats, sd_get_sessions, and sd_get_machine_names.
2013-05-08systemd-python: add __version__ stringsZbigniew Jędrzejewski-Szmek
2013-05-03Spelling fixesVille Skyttä
2013-04-25systemd-python: attach fields to JournalHandler, add SYSLOG_IDENTIFIERZbigniew Jędrzejewski-Szmek
Arbitrary fields can be attached at the level of the handler, and they'll be sent with all messages from this handler. This facility is used to attach SYSLOG_IDENTIFIER to all messages, since otherwise journald attaches SYSLOG_IDENTIFIER=python or something similar, which is completely useless.
2013-04-18systemd-python: wrap sd_journal_add_conjunctionZbigniew Jędrzejewski-Szmek
2013-04-18move _cleanup_ attribute in front of the typeHarald Hoyer
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html
2013-04-17sd-messages.h: add new bootchart message idZbigniew Jędrzejewski-Szmek
2013-04-17Report about syntax errors with metadataZbigniew Jędrzejewski-Szmek
The information about the unit for which files are being parsed is passed all the way down. This way messages land in the journal with proper UNIT=... or USER_UNIT=... attribution. 'systemctl status' and 'journalctl -u' not displaying those messages has been a source of confusion for users, since the journal entry for a misspelt setting was often logged quite a bit earlier than the failure to start a unit. Based-on-a-patch-by: Oleksii Shevchuk <alxchk@gmail.com>
2013-04-17python-systemd: Reader return special fields and _Reader changesSteven Hiscocks
Changes to _Reader make it match closer to C API, by removing `get_next` and `get_previous`. A `get_all` method added, which returns dictionary of fields using C API SD_JOURNAL_FOREACH_DATA macro, which can be used in conjunction with `next`. _Reader `get`, `next`, `get_{realtime,monotonic,cursor}` and new `previous` methods are made private. This is so the traversal and getting of journal fields can be made transparent in the python interface. Reader now solely implements `get_next` and `get_previous`, returning a standard dictionary (future: other mapping types?) with all standard and special fields through the converters. This makes the output the same as journalctl json/export format output. Iterator methods also moved to Reader, as they do not function as intend with changes to _Reader. These changes also mean that more optimised journal interfaces can be made more easily from _Reader, by avoiding getting of unrequired fields by using the `_get` method, and avoiding field conversions.
2013-04-16systemd-python: export new sd_journal_{process,get_events,get_timeout}Zbigniew Jędrzejewski-Szmek
get_timeout_ms is added as a convenience function, since it is abysmally hard to call clock_gettime() in Python versions lower than 3.3. And even for Python 3.3 users it saves a few lines.
2013-04-14systemd-python: fix formatting in docstringZbigniew Jędrzejewski-Szmek
2013-04-06systemd-python: fix wait bugSteven Hiscocks
2013-04-05Use initalization instead of explicit zeroingZbigniew Jędrzejewski-Szmek
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.
2013-03-21systemd-python: allow retrieval of single fieldsZbigniew Jędrzejewski-Szmek
This can give huge efficiency gains, e.g. if only MESSAGE is required and all other fields can be ignored.
2013-03-21systemd-python: split out realtime and monotonic into separate functionsZbigniew Jędrzejewski-Szmek
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.
2013-03-21systemd-python: implement _Reader.test_cursorZbigniew Jędrzejewski-Szmek
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.
2013-03-21systemd-python: cleanup up usec_t handlingZbigniew Jędrzejewski-Szmek
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.
2013-03-21systemd-python: export sd_journal_get_usageZbigniew Jędrzejewski-Szmek
2013-03-20Remove some unused variablesZbigniew Jędrzejewski-Szmek
2013-03-19systemd-python: small cleanupsZbigniew Jędrzejewski-Szmek
- separate methods with two empty lines for clarity - avoid malloc(0) by specyfing private data size as -1 - add method name in error messages
2013-03-19systemd-python: add journal.get_catalog()Zbigniew Jędrzejewski-Szmek
This one wraps sd_journal_get_catalog_from_message_id. Thanks to Python namespacing, we can stick to a shorter name.
2013-03-19systemd-python: add _Reader.get_catalog()Zbigniew Jędrzejewski-Szmek
This one wraps sd_journaal_get_catalog.
2013-03-19systemd-python: add _Reader.closed attributeZbigniew Jędrzejewski-Szmek
This should make the file interface of _Reader complete.
2013-03-18systemd-python: allow Reader to be used as a context managerZbigniew Jędrzejewski-Szmek
2013-03-15systemd-python: add systemd.daemon wrapping sd-daemonZbigniew Jędrzejewski-Szmek
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.
2013-03-12man,html: say 'systemd 198' in the headerZbigniew Jędrzejewski-Szmek
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.
2013-03-09python/docs: use the same links on top as in man pagesZbigniew Jędrzejewski-Szmek
I forgot to commit the layout file, because it was gitignored. Fixed now.
2013-03-09html: make python docs look more like the restZbigniew Jędrzejewski-Szmek
The result is ugly enough, I hope, to motivate someone with design skills to fix it.