diff options
Diffstat (limited to 'systemd')
-rw-r--r-- | systemd/journal.py | 13 | ||||
-rw-r--r-- | systemd/test/test_daemon.py | 2 | ||||
-rw-r--r-- | systemd/test/test_journal.py | 14 |
3 files changed, 21 insertions, 8 deletions
diff --git a/systemd/journal.py b/systemd/journal.py index b1f2fef..9d33fa8 100644 --- a/systemd/journal.py +++ b/systemd/journal.py @@ -51,7 +51,10 @@ def _convert_monotonic(m): def _convert_source_monotonic(s): return _datetime.timedelta(microseconds=int(s)) -_LOCAL_TIMEZONE = _datetime.datetime.now().astimezone().tzinfo +try: + _LOCAL_TIMEZONE = _datetime.datetime.now().astimezone().tzinfo +except TypeError: + _LOCAL_TIMEZONE = None def _convert_realtime(t): return _datetime.datetime.fromtimestamp(t / 1000000, _LOCAL_TIMEZONE) @@ -313,7 +316,13 @@ class Reader(_Reader): >>> j.seek_realtime(yesterday) """ if isinstance(realtime, _datetime.datetime): - realtime = int(float(realtime.astimezone().strftime("%s.%f")) * 1000000) + try: + realtime = realtime.astimezone() + except TypeError: + # With python2: Required argument 'tz' (pos 1) not found + pass + + realtime = int(float(realtime.strftime("%s.%f")) * 1000000) elif not isinstance(realtime, int): realtime = int(realtime * 1000000) return super(Reader, self).seek_realtime(realtime) diff --git a/systemd/test/test_daemon.py b/systemd/test/test_daemon.py index ac782f9..d2eb10f 100644 --- a/systemd/test/test_daemon.py +++ b/systemd/test/test_daemon.py @@ -353,7 +353,7 @@ def test_daemon_notify_memleak(): try: notify('', True, 0, fds) - except ConnectionRefusedError: + except connection_error: pass assert sys.getrefcount(fd) <= ref_cnt, 'leak' diff --git a/systemd/test/test_journal.py b/systemd/test/test_journal.py index e6761ca..c192136 100644 --- a/systemd/test/test_journal.py +++ b/systemd/test/test_journal.py @@ -6,7 +6,8 @@ import logging import os import time import uuid -import traceback as _traceback +import sys +import traceback from systemd import journal, id128 from systemd.journal import _make_line @@ -30,7 +31,7 @@ class MockSender: args.append('MESSAGE_ID=' + id) if CODE_LINE is CODE_FILE is CODE_FUNC is None: - CODE_FILE, CODE_LINE, CODE_FUNC = _traceback.extract_stack(limit=2)[0][:3] + CODE_FILE, CODE_LINE, CODE_FUNC = traceback.extract_stack(limit=2)[0][:3] if CODE_FILE is not None: args.append('CODE_FILE=' + CODE_FILE) if CODE_LINE is not None: @@ -294,13 +295,16 @@ def test_reader_convert_timestamps(tmpdir): j = journal.Reader(path=tmpdir.strpath) val = j._convert_field('_SOURCE_REALTIME_TIMESTAMP', 1641651559324187) - assert val.tzinfo is not None + if sys.version_info >= (3,): + assert val.tzinfo is not None val = j._convert_field('__REALTIME_TIMESTAMP', 1641651559324187) - assert val.tzinfo is not None + if sys.version_info >= (3,): + assert val.tzinfo is not None val = j._convert_field('COREDUMP_TIMESTAMP', 1641651559324187) - assert val.tzinfo is not None + if sys.version_info >= (3,): + assert val.tzinfo is not None def test_seek_realtime(tmpdir): j = journal.Reader(path=tmpdir.strpath) |