From 4240f49f79543623c56ada4c212505a227634e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= Date: Mon, 2 Sep 2019 19:01:06 +0100 Subject: Replace the device_id attribute with a more generic extra_data dictionary. This will allow providing other information, for other non-fslibre drivers. --- glucometerutils/common.py | 6 +++--- glucometerutils/drivers/fslibre.py | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/glucometerutils/common.py b/glucometerutils/common.py index 4c7694c..c11ff2c 100644 --- a/glucometerutils/common.py +++ b/glucometerutils/common.py @@ -66,7 +66,7 @@ class GlucoseReading: default=MeasurementMethod.BLOOD_SAMPLE, validator=attr.validators.in_( MeasurementMethod)) # type: MeasurementMethod - device_id = attr.ib(default=None) # type: int + extra_data = attr.ib(factory=dict) def get_value_as(self, to_unit): # type: (Unit) -> float @@ -90,7 +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 + extra_data = attr.ib(factory=dict) def as_csv(self, unit): """Returns the reading as a formatted comma-separated value string.""" @@ -108,7 +108,7 @@ class TimeAdjustment: default=MeasurementMethod.TIME, validator=attr.validators.in_( MeasurementMethod)) # type: MeasurementMethod - device_id = attr.ib(default=None) # type: int + extra_data = attr.ib(factory=dict) def as_csv(self, unit): del unit diff --git a/glucometerutils/drivers/fslibre.py b/glucometerutils/drivers/fslibre.py index 0e62aa6..e6ea85a 100644 --- a/glucometerutils/drivers/fslibre.py +++ b/glucometerutils/drivers/fslibre.py @@ -118,7 +118,8 @@ def _parse_arresult(record): return common.TimeAdjustment( _extract_timestamp(parsed_record), _extract_timestamp(parsed_record, 'old_'), - device_id=parsed_record['device_id']) + extra_data={'device_id': parsed_record['device_id']}, + ) else: return None @@ -198,7 +199,8 @@ def _parse_arresult(record): value, comment='; '.join(comment_parts), measure_method=measure_method, - device_id=parsed_record['device_id']) + extra_data={'device_id': parsed_record['device_id']}, + ) class Device(freestyle.FreeStyleHidDevice): """Glucometer driver for FreeStyle Libre devices.""" @@ -241,7 +243,7 @@ class Device(freestyle.FreeStyleHidDevice): parsed_record['value'], comment='(Sensor)', measure_method=common.MeasurementMethod.CGM, - device_id=parsed_record['device_id'] + extra_data={'device_id': parsed_record['device_id']}, ) # Then get the results of explicit scans and blood tests (and other -- cgit v1.2.3