Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion fitparse/records.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,10 @@ def parse_string(string):
def add_dev_data_id(message):
global DEV_TYPES
dev_data_index = message.get('developer_data_index').raw_value
application_id = message.get('application_id').raw_value
if message.get('application_id'):
application_id = message.get('application_id').raw_value
else:
application_id = None

# Note that nothing in the spec says overwriting an existing type is invalid
DEV_TYPES[dev_data_index] = {'dev_data_index': dev_data_index, 'application_id': application_id, 'fields': {}}
Expand Down
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,11 @@ def test_fileish_types(self):
with FitFile(io.BytesIO(open(testfile("Settings.fit"), 'rb').read())):
pass

def test_elemnt_bolt_developer_data_id_without_application_id(self):
"""Test that a file without application id set inside developer_data_id is parsed
(as seen on ELEMNT BOLT with firmware version WB09-1507)"""
FitFile(testfile('elemnt-bolt-no-application-id-inside-developer-data-id.fit')).parse()

# TODO:
# * Test Processors:
# - process_type_<>, process_field_<>, process_units_<>, process_message_<>
Expand Down