Skip to content

Commit dee3bc1

Browse files
committed
fix: date conversion exceptions
1 parent 3bfdaf9 commit dee3bc1

File tree

6 files changed

+201
-189
lines changed

6 files changed

+201
-189
lines changed

pglive/sources/live_axis.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from pyqtgraph.Qt import QtGui, QtCore # type: ignore
88

99
from pglive.kwargs import Axis
10-
from pglive.sources.utils import get_scaled_time_duration
10+
from pglive.sources.utils import get_scaled_time_duration, dt_conversion
1111

1212

1313
class LiveAxis(pg.AxisItem):
@@ -67,10 +67,10 @@ def tickStrings(self, values: List, scale: float, spacing: float) -> List:
6767
pass
6868
if self.tick_format == Axis.DATETIME:
6969
# Convert tick to Datetime
70-
tick_strings = [datetime.datetime.fromtimestamp(value).strftime("%Y-%m-%d %H:%M:%S") for value in values]
70+
tick_strings = [dt_conversion(value, dt_format="%Y-%m-%d %H:%M:%S") for value in values]
7171
elif self.tick_format == Axis.TIME:
7272
# Convert tick to Time
73-
tick_strings = [datetime.datetime.fromtimestamp(value).strftime("%H:%M:%S") for value in values]
73+
tick_strings = [dt_conversion(value, dt_format="%H:%M:%S") for value in values]
7474
elif self.tick_format == Axis.DURATION:
7575
# Convert tick to Time duration
7676
tick_strings = [get_scaled_time_duration(value, short=self.df_short) for value in values]

pglive/sources/utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,13 @@ def get_scaled_time_duration(seconds: float, short: bool = True) -> str:
4242
duration = "{} {} {} {} {} {}".format(d.year - 1, year, d.month, month, d.day, day)
4343

4444
return duration
45+
46+
47+
def dt_conversion(value: int, dt_format: str) -> str:
48+
try:
49+
return datetime.datetime.fromtimestamp(value).strftime(dt_format)
50+
except (ValueError, OSError, OverflowError):
51+
if value > 0:
52+
return "+inf"
53+
else:
54+
return "-inf"

0 commit comments

Comments
 (0)