Skip to content

Commit 1ebd5bf

Browse files
committed
Issue #257: handle field cycles_to_calories being not present in monitoring_info
1 parent 3e9a4ac commit 1ebd5bf

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

garmindb/monitoring_fit_file_processor.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ def write_file(self, fit_file):
3838
def _plugin_dispatch(self, handler_name, *args, **kwargs):
3939
return super()._plugin_dispatch(self.monitoring_fit_file_plugins, handler_name, *args, **kwargs)
4040

41+
@classmethod
42+
def __unpack_tuple(cls, entry, name, value, index):
43+
if type(value) is tuple:
44+
entry[name] = value[index]
45+
4146
def _write_monitoring_info_entry(self, fit_file, message_fields):
4247
activity_types = message_fields.activity_type
4348
if isinstance(activity_types, list):
@@ -46,10 +51,10 @@ def _write_monitoring_info_entry(self, fit_file, message_fields):
4651
'file_id' : File.s_get_id(self.garmin_db_session, fit_file.filename),
4752
'timestamp' : message_fields.local_timestamp,
4853
'activity_type' : activity_type,
49-
'resting_metabolic_rate' : message_fields.get('resting_metabolic_rate'),
50-
'cycles_to_distance' : message_fields.cycles_to_distance[index],
51-
'cycles_to_calories' : message_fields.cycles_to_calories[index]
54+
'resting_metabolic_rate' : message_fields.get('resting_metabolic_rate')
5255
}
56+
self.__unpack_tuple(entry, 'cycles_to_distance', message_fields.cycles_to_distance, index)
57+
self.__unpack_tuple(entry, 'cycles_to_calories', message_fields.cycles_to_calories, index)
5358
MonitoringInfo.s_insert_or_update(self.garmin_mon_db_session, entry)
5459

5560
def _write_monitoring_entry(self, fit_file, message_fields):

test/test_files/fit/monitoring/readme.txt

-1
This file was deleted.

test/test_fit_file.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
logger = logging.getLogger(__name__)
2222

2323

24-
test_activity_files = True
24+
test_activity_files = False
2525
test_monitoring_files = True
26-
test_sleep_files = True
27-
test_metrics_files = True
28-
test_unknown_files = True
26+
test_sleep_files = False
27+
test_metrics_files = False
28+
test_unknown_files = False
2929

3030

3131
class TestFitFile(unittest.TestCase):

0 commit comments

Comments
 (0)