summaryrefslogtreecommitdiffstats
path: root/glucometerutils/support/freestyle.py
diff options
context:
space:
mode:
Diffstat (limited to 'glucometerutils/support/freestyle.py')
-rw-r--r--glucometerutils/support/freestyle.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/glucometerutils/support/freestyle.py b/glucometerutils/support/freestyle.py
index d18a81f..475d6f5 100644
--- a/glucometerutils/support/freestyle.py
+++ b/glucometerutils/support/freestyle.py
@@ -200,7 +200,13 @@ class FreeStyleHidDevice(hiddevice.HidDevice):
month, day, year = (int(x) for x in date.split(','))
hour, minute = (int(x) for x in time.split(','))
- return datetime.datetime(year + 2000, month, day, hour, minute)
+ # At least Precision Neo devices can have an invalid date (bad RTC?),
+ # and report 255 for each field, which is not valid for
+ # datetime.datetime().
+ try:
+ return datetime.datetime(year + 2000, month, day, hour, minute)
+ except ValueError:
+ raise exceptions.InvalidDateTime()
def set_datetime(self, date=datetime.datetime.now()):
# type: (datetime.datetime) -> datetime.datetime