summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--systemd/journal.py13
-rw-r--r--systemd/test/test_journal.py10
2 files changed, 18 insertions, 5 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_journal.py b/systemd/test/test_journal.py
index e6761ca..98c7e87 100644
--- a/systemd/test/test_journal.py
+++ b/systemd/test/test_journal.py
@@ -6,6 +6,7 @@ import logging
import os
import time
import uuid
+import sys
import traceback as _traceback
from systemd import journal, id128
@@ -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)