From e72b02d84e7f67cdf6107862ad580e951a5bbda1 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 21 Feb 2020 10:45:40 +0100 Subject: format code with black --- glucometerutils/common.py | 87 +++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 34 deletions(-) (limited to 'glucometerutils/common.py') diff --git a/glucometerutils/common.py b/glucometerutils/common.py index e7be7ec..6576ebd 100644 --- a/glucometerutils/common.py +++ b/glucometerutils/common.py @@ -10,21 +10,24 @@ from typing import Optional, Sequence import attr + class Unit(enum.Enum): - MG_DL = 'mg/dL' - MMOL_L = 'mmol/L' + MG_DL = "mg/dL" + MMOL_L = "mmol/L" + # Constants for meal information class Meal(enum.Enum): - NONE = '' - BEFORE = 'Before Meal' - AFTER = 'After Meal' + NONE = "" + BEFORE = "Before Meal" + AFTER = "After Meal" + # Constants for measure method class MeasurementMethod(enum.Enum): - BLOOD_SAMPLE = 'blood sample' - CGM = 'CGM' # Continuous Glucose Monitoring - TIME = 'time' + BLOOD_SAMPLE = "blood sample" + CGM = "CGM" # Continuous Glucose Monitoring + TIME = "time" def convert_glucose_unit(value, from_unit, to_unit): @@ -50,19 +53,19 @@ def convert_glucose_unit(value, from_unit, to_unit): return round(value * 18.0, 0) + @attr.s class GlucoseReading: timestamp = attr.ib(type=datetime.datetime) value = attr.ib(type=float) - meal = attr.ib( - default=Meal.NONE, validator=attr.validators.in_(Meal), - type=Meal) - comment = attr.ib(default='', type=str) + meal = attr.ib(default=Meal.NONE, validator=attr.validators.in_(Meal), type=Meal) + comment = attr.ib(default="", type=str) measure_method = attr.ib( default=MeasurementMethod.BLOOD_SAMPLE, validator=attr.validators.in_(MeasurementMethod), - type=MeasurementMethod) + type=MeasurementMethod, + ) extra_data = attr.ib(factory=dict) def get_value_as(self, to_unit): @@ -78,15 +81,20 @@ class GlucoseReading: # type: (Unit) -> str """Returns the reading as a formatted comma-separated value string.""" return '"%s","%.2f","%s","%s","%s"' % ( - self.timestamp, self.get_value_as(unit), self.meal.value, - self.measure_method.value, self.comment) + self.timestamp, + self.get_value_as(unit), + self.meal.value, + self.measure_method.value, + self.comment, + ) + @attr.s class KetoneReading: timestamp = attr.ib(type=datetime.datetime) value = attr.ib(type=float) - comment = attr.ib(default='', type=str) + comment = attr.ib(default="", type=str) extra_data = attr.ib(factory=dict) def as_csv(self, unit): @@ -94,23 +102,28 @@ class KetoneReading: del unit # Unused for Ketone readings. return '"%s","%.2f","%s","%s"' % ( - self.timestamp, self.value, MeasurementMethod.BLOOD_SAMPLE.value, - self.comment) + self.timestamp, + self.value, + MeasurementMethod.BLOOD_SAMPLE.value, + self.comment, + ) + @attr.s class TimeAdjustment: timestamp = attr.ib() # type: datetime.datetime old_timestamp = attr.ib() # type: datetime.datetime measure_method = attr.ib( - default=MeasurementMethod.TIME, - validator=attr.validators.in_( - MeasurementMethod)) # type: MeasurementMethod + default=MeasurementMethod.TIME, validator=attr.validators.in_(MeasurementMethod) + ) # type: MeasurementMethod extra_data = attr.ib(factory=dict) def as_csv(self, unit): del unit return '"%s","","%s","%s"' % ( - self.timestamp, self.measure_method.value, self.old_timestamp + self.timestamp, + self.measure_method.value, + self.old_timestamp, ) @@ -126,32 +139,38 @@ class MeterInfo: the device. It can include hardware and software version. native_unit: One of the Unit values to identify the meter native unit. """ + model = attr.ib(type=str) - serial_number = attr.ib(default='N/A', type=str) + serial_number = attr.ib(default="N/A", type=str) version_info = attr.ib(default=(), type=Sequence[str]) native_unit = attr.ib( - default=Unit.MG_DL, validator=attr.validators.in_(Unit), - type=Unit) + default=Unit.MG_DL, validator=attr.validators.in_(Unit), type=Unit + ) patient_name = attr.ib(default=None, type=Optional[str]) def __str__(self): - version_information_string = 'N/A' + version_information_string = "N/A" if self.version_info: - version_information_string = '\n '.join( - self.version_info).strip() + version_information_string = "\n ".join(self.version_info).strip() - base_output = textwrap.dedent("""\ + base_output = textwrap.dedent( + """\ {model} Serial Number: {serial_number} Version Information: {version_information_string} Native Unit: {native_unit} - """).format(model=self.model, serial_number=self.serial_number, - version_information_string=version_information_string, - native_unit=self.native_unit.value) + """ + ).format( + model=self.model, + serial_number=self.serial_number, + version_information_string=version_information_string, + native_unit=self.native_unit.value, + ) if self.patient_name != None: - base_output += 'Patient Name: {patient_name}\n'.format( - patient_name=self.patient_name) + base_output += "Patient Name: {patient_name}\n".format( + patient_name=self.patient_name + ) return base_output -- cgit v1.2.3