summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--glucometerutils/common.py3
-rw-r--r--glucometerutils/drivers/fslibre.py11
2 files changed, 11 insertions, 3 deletions
diff --git a/glucometerutils/common.py b/glucometerutils/common.py
index 4af2001..4c7694c 100644
--- a/glucometerutils/common.py
+++ b/glucometerutils/common.py
@@ -66,6 +66,7 @@ class GlucoseReading:
default=MeasurementMethod.BLOOD_SAMPLE,
validator=attr.validators.in_(
MeasurementMethod)) # type: MeasurementMethod
+ device_id = attr.ib(default=None) # type: int
def get_value_as(self, to_unit):
# type: (Unit) -> float
@@ -89,6 +90,7 @@ class KetoneReading:
timestamp = attr.ib() # type: datetime.datetime
value = attr.ib() # type: float
comment = attr.ib(default='') # type: Text
+ device_id = attr.ib(default=None) # type: int
def as_csv(self, unit):
"""Returns the reading as a formatted comma-separated value string."""
@@ -106,6 +108,7 @@ class TimeAdjustment:
default=MeasurementMethod.TIME,
validator=attr.validators.in_(
MeasurementMethod)) # type: MeasurementMethod
+ device_id = attr.ib(default=None) # type: int
def as_csv(self, unit):
del unit
diff --git a/glucometerutils/drivers/fslibre.py b/glucometerutils/drivers/fslibre.py
index 2823a2b..0e62aa6 100644
--- a/glucometerutils/drivers/fslibre.py
+++ b/glucometerutils/drivers/fslibre.py
@@ -26,6 +26,7 @@ from glucometerutils.support import freestyle
# Fields of the records returned by both $history and $arresult?
# Tuple of pairs of idx and field name
_BASE_ENTRY_MAP = (
+ (0, 'device_id'),
(1, 'type'),
(2, 'month'),
(3, 'day'),
@@ -116,7 +117,8 @@ def _parse_arresult(record):
parsed_record.update(_parse_record(record, _ARRESULT_TIME_ADJUSTMENT_ENTRY_MAP))
return common.TimeAdjustment(
_extract_timestamp(parsed_record),
- _extract_timestamp(parsed_record, 'old_'))
+ _extract_timestamp(parsed_record, 'old_'),
+ device_id=parsed_record['device_id'])
else:
return None
@@ -195,7 +197,8 @@ def _parse_arresult(record):
_extract_timestamp(parsed_record),
value,
comment='; '.join(comment_parts),
- measure_method=measure_method)
+ measure_method=measure_method,
+ device_id=parsed_record['device_id'])
class Device(freestyle.FreeStyleHidDevice):
"""Glucometer driver for FreeStyle Libre devices."""
@@ -237,7 +240,9 @@ class Device(freestyle.FreeStyleHidDevice):
_extract_timestamp(parsed_record),
parsed_record['value'],
comment='(Sensor)',
- measure_method=common.MeasurementMethod.CGM)
+ measure_method=common.MeasurementMethod.CGM,
+ device_id=parsed_record['device_id']
+ )
# Then get the results of explicit scans and blood tests (and other
# events).