Skip to content

Commit 6d30990

Browse files
committed
Simplify datetime deserialize at util.py
1 parent 54c9a2b commit 6d30990

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

plugwise/util.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -241,22 +241,12 @@ def __init__(self, year=0, month=1, minutes=0):
241241

242242
def deserialize(self, val):
243243
CompositeType.deserialize(self, val)
244-
minutes = self.minutes.value
245-
if minutes == 0:
246-
self.value = datetime.datetime(PLUGWISE_EPOCH, 1, 1, 0, 0)
247-
elif minutes == 65535:
244+
if self.minutes.value == 65535:
248245
self.value = None
249246
else:
250-
hours = minutes // 60
251-
days = hours // 24
252-
hours -= days * 24
253-
minutes -= (days * 24 * 60) + (hours * 60)
254-
try:
255-
self.value = datetime.datetime(
256-
self.year.value, self.month.value, days + 1, hours, minutes
257-
)
258-
except datetime.datetime.ValueError:
259-
self.value = None
247+
self.value = datetime.datetime(
248+
year=self.year.value, month=self.month.value, day=1
249+
) + datetime.timedelta(minutes=self.minutes.value)
260250

261251

262252
class Time(CompositeType):

0 commit comments

Comments
 (0)