From 4b029155c8817eee18c90f0086e28bb0c2c864b6 Mon Sep 17 00:00:00 2001 From: Daniel Lenski Date: Tue, 15 Dec 2020 20:17:08 -0800 Subject: [PATCH 01/27] Python 3 definitely supported now Minimum supported version appears to be 2.7, based on .travis.yml --- docs/index.rst | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 78400e9..434a376 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -56,13 +56,7 @@ Requirements The following are required to install :mod:`fitparse`, -* `Python `_ 2.5 and above (Python 3 is currently not - supported) - -* The `argparse `_ is required for the - :command:`fitdump` command, but it is included in the Python standard library - as of version 2.7. Using ``pip`` to install the package will install this if - needed. +* `Python `_ 2.7 and above API Documentation From 64b7d26139c86de6e1907a66616603ba39f12a00 Mon Sep 17 00:00:00 2001 From: Dan Lenski Date: Tue, 15 Dec 2020 21:37:27 -0800 Subject: [PATCH 02/27] Warn and fall back to byte encoding in the case of a mismatched field size (#116) Real-world example in the file `Bicicleta20201025061019.fit` from https://github.com/GoldenCheetah/GoldenCheetah/issues/3645 (device is Coros Pace 2) It appears to parse fine with this small change. --- fitparse/base.py | 8 ++++---- .../coros-pace-2-cycling-misaligned-fields.fit | Bin 0 -> 258990 bytes tests/test.py | 9 +++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 tests/files/coros-pace-2-cycling-misaligned-fields.fit diff --git a/fitparse/base.py b/fitparse/base.py index d3370b4..43c5c35 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -1,6 +1,7 @@ import io import os import struct +import warnings # Python 2 compat try: @@ -191,10 +192,9 @@ def _parse_definition_message(self, header): base_type = BASE_TYPES.get(base_type_num, BASE_TYPE_BYTE) if (field_size % base_type.size) != 0: - # NOTE: we could fall back to byte encoding if there's any - # examples in the wild. For now, just throw an exception - raise FitParseError("Invalid field size %d for type '%s' (expected a multiple of %d)" % ( - field_size, base_type.name, base_type.size)) + warnings.warn("Message %d: Invalid field size %d for field '%s' of type '%s' (expected a multiple of %d); falling back to byte encoding." % ( + len(self._messages)+1, field_size, field.name, base_type.name, base_type.size)) + base_type = BASE_TYPE_BYTE # If the field has components that are accumulators # start recording their accumulation at 0 diff --git a/tests/files/coros-pace-2-cycling-misaligned-fields.fit b/tests/files/coros-pace-2-cycling-misaligned-fields.fit new file mode 100644 index 0000000000000000000000000000000000000000..ae824ab836761c166fa3ec2589a60ee70643357b GIT binary patch literal 258990 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%0DW_iZA5grX+fcrJkt>q#ACO9wL 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 VTRvoo-9Bfg1Zlo}p3l>H{||s<_{0DJ literal 0 HcmV?d00001 diff --git a/tests/test.py b/tests/test.py index 9a55f71..2e12cde 100755 --- a/tests/test.py +++ b/tests/test.py @@ -5,6 +5,7 @@ import os from struct import pack import sys +import warnings from fitparse import FitFile from fitparse.processors import UTC_REFERENCE, StandardUnitsDataProcessor @@ -411,6 +412,14 @@ def test_speed(self): avg_speed = list(f.get_messages('session'))[0].get_values().get('avg_speed') self.assertEqual(avg_speed, 5.86) + def test_mismatched_field_size(self): + f = FitFile(testfile('coros-pace-2-cycling-misaligned-fields.fit')) + with warnings.catch_warnings(record=True) as w: + f.parse() + assert len(w) == 5 + assert all("falling back to byte encoding" in str(x) for x in w) + self.assertEqual(len(f.messages), 11293) + # TODO: # * Test Processors: # - process_type_<>, process_field_<>, process_units_<>, process_message_<> From 5c0bff19c7f0de6b87532ee2899d844e2d2372ab Mon Sep 17 00:00:00 2001 From: Dan Lenski Date: Sun, 20 Dec 2020 06:45:22 -0800 Subject: [PATCH 03/27] Add Github actions workflow for test and coverage (#119) Also adds a Build Status badge to the README Replaces .travis.yml --- .github/workflows/test.yml | 42 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 20 ------------------ README.md | 2 ++ requirements-test.txt | 14 ++----------- setup.py | 4 ++-- 5 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..a535b93 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,42 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: test + +on: [ push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['2.7', '3.3', '3.4', '3.5', '3.6', '3.x', 'pypy2', 'pypy3'] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + sudo apt install -y libgirepository1.0-dev + python -m pip install --upgrade pip + python -m pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + + - name: Run tests + run: | + if [ -f requirements-test.txt ]; then pip install -r requirements-test.txt; fi + python -m unittest discover -s tests + coverage run run_tests.py && coverage report -m diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4131539..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: python -python: - - "2.7" - - "3.3" - - "3.4" - - "3.5" - - "3.6" - - "nightly" - - "pypy3" - - "pypy" - -install: - - pip install -r requirements-test.txt - -script: - - python -m unittest discover -s tests - - coverage run run_tests.py && coverage report -m - -notifications: - email: false \ No newline at end of file diff --git a/README.md b/README.md index 752f28c..9841cb5 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ python-fitparse =============== Here's a Python library to parse ANT/Garmin `.FIT` files. +[![Build Status](https://github.com/dtcooper/python-fitparse/workflows/test/badge.svg)](https://github.com/dtcooper/python-fitparse/actions?query=workflow%3Atest) + Install from [![PyPI](https://img.shields.io/pypi/v/fitparse.svg)](https://pypi.python.org/pypi/fitparse/): ``` diff --git a/requirements-test.txt b/requirements-test.txt index b6627b4..5cc4f02 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,12 +1,2 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# pip-compile --output-file requirements-test.txt etc/requirements-test.in -# - -click==7.0 # via pip-tools -coverage==4.5.2 -pip-tools==3.2.0 -six==1.12.0 # via pip-tools -coveralls==1.7.0 # via pip-tools +coverage>=4.5.2 +coveralls>=1.7.0 # via pip-tools diff --git a/setup.py b/setup.py index 227293f..7c8dc13 100644 --- a/setup.py +++ b/setup.py @@ -5,8 +5,8 @@ requires = None -if sys.version_info < (2, 7): - requires = ['argparse'] +if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 3): + sys.exit("Python 2.7 or Python 3.3+ are required.") setup( From 7c0b7641952e856e69d579d57d819fb77143a9da Mon Sep 17 00:00:00 2001 From: Scott Phillips <57362841+scott-phillips-ah@users.noreply.github.com> Date: Sun, 13 Sep 2020 10:32:04 -0400 Subject: [PATCH 04/27] Add support for badly terminated files (#114) --- fitparse/base.py | 15 +++++++++++---- scripts/fitdump | 2 +- tests/files/nick.fit | Bin 0 -> 403456 bytes tests/test.py | 4 ++++ 4 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 tests/files/nick.fit diff --git a/fitparse/base.py b/fitparse/base.py index 43c5c35..63aec6e 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -80,6 +80,7 @@ def _read_struct(self, fmt, endian='<', data=None, always_tuple=False): def _read_and_assert_crc(self, allow_zero=False): # CRC Calculation is little endian from SDK + # TODO - How to handle the case of unterminated file? Error out and have user retry with check_crc=false? crc_computed, crc_read = self._crc.value, self._read_struct(Crc.FMT) if not self.check_crc: return @@ -132,7 +133,8 @@ def _parse_file_header(self): def _parse_message(self): # When done, calculate the CRC and return None if self._bytes_left <= 0: - if not self._complete: + # Don't assert CRC if requested not + if not self._complete and self.check_crc: self._read_and_assert_crc() if self._file.tell() >= self._filesize: @@ -245,9 +247,14 @@ def _parse_raw_values_from_data_message(self, def_mesg): struct_fmt = str(int(field_def.size / base_type.size)) + base_type.fmt # Extract the raw value, ask for a tuple if it's a byte type - raw_value = self._read_struct( - struct_fmt, endian=def_mesg.endian, always_tuple=is_byte, - ) + try: + raw_value = self._read_struct( + struct_fmt, endian=def_mesg.endian, always_tuple=is_byte, + ) + except FitEOFError: + # file was suddenly terminated, usually due to + print("File was terminated unexpectedly, some data will not be loaded.") + break # If the field returns with a tuple of values it's definitely an # oddball, but we'll parse it on a per-value basis it. diff --git a/scripts/fitdump b/scripts/fitdump index 8a5b0a1..b6043c2 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -99,7 +99,7 @@ def main(args=None): fitfile = fitparse.FitFile( options.infile, data_processor=fitparse.StandardUnitsDataProcessor(), - check_crc = not(options.ignore_crc), + check_crc=not(options.ignore_crc), ) records = fitfile.get_messages( name=options.name, diff --git a/tests/files/nick.fit b/tests/files/nick.fit new file mode 100644 index 0000000000000000000000000000000000000000..5c9d2e0e5a71370a8b831f15fc1f116766e4f695 GIT binary patch literal 403456 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℘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 &YXmhKJS+Yhuh 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¨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 literal 0 HcmV?d00001 diff --git a/tests/test.py b/tests/test.py index 2e12cde..c7fd624 100755 --- a/tests/test.py +++ b/tests/test.py @@ -420,6 +420,10 @@ def test_mismatched_field_size(self): assert all("falling back to byte encoding" in str(x) for x in w) self.assertEqual(len(f.messages), 11293) + def test_unterminated_file(self): + f = FitFile(testfile('nick.fit'), check_crc=False) + f.parse() + # TODO: # * Test Processors: # - process_type_<>, process_field_<>, process_units_<>, process_message_<> From 52a6f01447a00a67c05c6cca7ed7472abf24d564 Mon Sep 17 00:00:00 2001 From: Aart Goossens Date: Sun, 19 Apr 2020 21:08:49 +0200 Subject: [PATCH 05/27] Add pathlib support to fileish_open (#101) --- fitparse/utils.py | 16 +++++++++++++--- tests/test_utils.py | 8 ++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/fitparse/utils.py b/fitparse/utils.py index d3e4e02..aa70a90 100644 --- a/fitparse/utils.py +++ b/fitparse/utils.py @@ -5,6 +5,12 @@ except ImportError: from collections import Iterable +try: + # Python 3.4+ + from pathlib import PurePath +except ImportError: + PurePath = None + class FitParseError(ValueError): pass @@ -56,9 +62,13 @@ def fileish_open(fileish, mode): return open(fileish, mode) except TypeError: return io.BytesIO(fileish) - else: - # Python 3 - file contents - return io.BytesIO(fileish) + + # Python 3 - pathlib obj + if PurePath and isinstance(fileish, PurePath): + return fileish.open(mode) + + # Python 3 - file contents + return io.BytesIO(fileish) def is_iterable(obj): diff --git a/tests/test_utils.py b/tests/test_utils.py index 966548c..01d3409 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -5,6 +5,12 @@ import sys import tempfile +try: + # Python 3.4+ + from pathlib import Path +except ImportError: + Path = None + from fitparse.utils import fileish_open, is_iterable if sys.version_info >= (2, 7): @@ -38,6 +44,8 @@ def test_fopen(fileish): test_fopen(f.read()) with open(testfile("nametest.FIT"), 'rb') as f: test_fopen(io.BytesIO(f.read())) + if Path: + test_fopen(Path(testfile('nametest.FIT'))) def test_fileish_open_write(self): From 55a30f274c0992bc1da73be2a80c3fb9eabb64c0 Mon Sep 17 00:00:00 2001 From: Carey Metcalfe Date: Mon, 21 Dec 2020 23:42:24 -0500 Subject: [PATCH 06/27] Emit a warning instead of printing a message --- fitparse/base.py | 4 ++-- tests/test.py | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/fitparse/base.py b/fitparse/base.py index 63aec6e..e68278b 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -252,8 +252,8 @@ def _parse_raw_values_from_data_message(self, def_mesg): struct_fmt, endian=def_mesg.endian, always_tuple=is_byte, ) except FitEOFError: - # file was suddenly terminated, usually due to - print("File was terminated unexpectedly, some data will not be loaded.") + # file was suddenly terminated + warnings.warn("File was terminated unexpectedly, some data will not be loaded.") break # If the field returns with a tuple of values it's definitely an diff --git a/tests/test.py b/tests/test.py index c7fd624..a0d2b37 100755 --- a/tests/test.py +++ b/tests/test.py @@ -333,7 +333,8 @@ def test_invalid_crc(self): def test_unexpected_eof(self): try: - FitFile(testfile('activity-unexpected-eof.fit')).parse() + with warnings.catch_warnings(record=True): + FitFile(testfile('activity-unexpected-eof.fit')).parse() self.fail("Didn't detect an unexpected EOF") except FitEOFError: pass @@ -422,7 +423,8 @@ def test_mismatched_field_size(self): def test_unterminated_file(self): f = FitFile(testfile('nick.fit'), check_crc=False) - f.parse() + with warnings.catch_warnings(record=True) as w: + f.parse() # TODO: # * Test Processors: From 08d49beebba826f606de226acdf1537d47f41e6a Mon Sep 17 00:00:00 2001 From: Carey Metcalfe Date: Fri, 25 Dec 2020 13:14:11 -0500 Subject: [PATCH 07/27] Break optional functionality out of FitFile class (#120) `FitFile` was renamed to `FitFileDecoder` and the caching and data processing functionality was moved into mixin classes. This allows library users more flexibility in what features they want to use. A new `UncachedFitFile` class was added for parsing fit files with data processors without caching messages. The `fitdump` script now uses this class to reduce memory usage. The original `FitFile` behaviour has been preserved by adding a class that implements both caching and data processing mixins. --- fitparse/__init__.py | 10 +-- fitparse/base.py | 145 +++++++++++++++++++++++++++++++------------ scripts/fitdump | 2 +- tests/test.py | 2 +- 4 files changed, 112 insertions(+), 47 deletions(-) diff --git a/fitparse/__init__.py b/fitparse/__init__.py index bbf7cd4..3453ef9 100644 --- a/fitparse/__init__.py +++ b/fitparse/__init__.py @@ -1,10 +1,10 @@ -from fitparse.base import FitFile, FitParseError +#!/usr/bin/env python + +# Make classes available +from fitparse.base import FitFile, FitFileDecoder, UncachedFitFile, \ + FitParseError, CacheMixin, DataProcessorMixin from fitparse.records import DataMessage from fitparse.processors import FitFileDataProcessor, StandardUnitsDataProcessor __version__ = '1.2.0' -__all__ = [ - 'FitFileDataProcessor', 'FitFile', 'FitParseError', - 'StandardUnitsDataProcessor', 'DataMessage' -] diff --git a/fitparse/base.py b/fitparse/base.py index e68278b..c57d118 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import io import os import struct @@ -19,19 +21,19 @@ from fitparse.utils import fileish_open, is_iterable, FitParseError, FitEOFError, FitCRCError, FitHeaderError -class FitFile(object): +class FitFileDecoder(object): + """Basic decoder for fit files""" + def __init__(self, fileish, check_crc=True, data_processor=None): self._file = fileish_open(fileish, 'rb') self.check_crc = check_crc self._crc = None - self._processor = data_processor or FitFileDataProcessor() # Get total filesize self._file.seek(0, os.SEEK_END) self._filesize = self._file.tell() self._file.seek(0, os.SEEK_SET) - self._messages = [] # Start off by parsing the file header (sets initial attribute values) self._parse_file_header() @@ -158,7 +160,6 @@ def _parse_message(self): elif message.mesg_type.name == 'field_description': add_dev_field_description(message) - self._messages.append(message) return message def _parse_message_header(self): @@ -194,8 +195,10 @@ def _parse_definition_message(self, header): base_type = BASE_TYPES.get(base_type_num, BASE_TYPE_BYTE) if (field_size % base_type.size) != 0: - warnings.warn("Message %d: Invalid field size %d for field '%s' of type '%s' (expected a multiple of %d); falling back to byte encoding." % ( - len(self._messages)+1, field_size, field.name, base_type.name, base_type.size)) + warnings.warn( + "Invalid field size %d for field '%s' of type '%s' (expected a multiple of %d); falling back to byte encoding." % ( + field_size, field.name, base_type.name, base_type.size) + ) base_type = BASE_TYPE_BYTE # If the field has components that are accumulators @@ -306,7 +309,7 @@ def _apply_compressed_accumulation(raw_value, accumulation, num_bits): return base_value - def _parse_data_message(self, header): + def _parse_data_message_components(self, header): def_mesg = self._local_mesgs.get(header.local_mesg_num) if not def_mesg: raise FitParseError('Got data message with invalid local message type %d' % ( @@ -396,17 +399,33 @@ def _parse_data_message(self, header): ) ) - # Apply data processors - for field_data in field_datas: - # Apply type name processor - self._processor.run_type_processor(field_data) - self._processor.run_field_processor(field_data) - self._processor.run_unit_processor(field_data) + return header, def_mesg, field_datas - data_message = DataMessage(header=header, def_mesg=def_mesg, fields=field_datas) - self._processor.run_message_processor(data_message) + def _parse_data_message(self, header): + header, def_mesg, field_datas = self._parse_data_message_components(header) + return DataMessage(header=header, def_mesg=def_mesg, fields=field_datas) - return data_message + @staticmethod + def _should_yield(message, with_definitions, names): + if not message: + return False + if with_definitions or message.type == 'data': + # name arg is None we return all + if names is None: + return True + elif (message.name in names) or (message.mesg_num in names): + return True + return False + + @staticmethod + def _make_set(obj): + if obj is None: + return None + + if is_iterable(obj): + return set(obj) + else: + return set((obj,)) ########## # Public API @@ -415,44 +434,90 @@ def get_messages(self, name=None, with_definitions=False, as_dict=False): if with_definitions: # with_definitions implies as_dict=False as_dict = False - if name is not None: - if is_iterable(name): - names = set(name) - else: - names = set((name,)) - - def should_yield(message): - if with_definitions or message.type == 'data': - # name arg is None we return all - if name is None: - return True - else: - if (message.name in names) or (message.mesg_num in names): - return True - return False + names = self._make_set(name) + + while not self._complete: + message = self._parse_message() + if self._should_yield(message, with_definitions, names): + yield message.as_dict() if as_dict else message + + def __iter__(self): + return self.get_messages() + + +class CacheMixin(object): + """Add message caching to the FitFileDecoder""" + + def __init__(self, *args, **kwargs): + super(CacheMixin, self).__init__(*args, **kwargs) + self._messages = [] + + def _parse_message(self): + self._messages.append(super(CacheMixin, self)._parse_message()) + return self._messages[-1] + + def get_messages(self, name=None, with_definitions=False, as_dict=False): + if with_definitions: # with_definitions implies as_dict=False + as_dict = False + + names = self._make_set(name) # Yield all parsed messages first for message in self._messages: - if should_yield(message): + if self._should_yield(message, with_definitions, names): yield message.as_dict() if as_dict else message - # If there are unparsed messages, yield those too - while not self._complete: - message = self._parse_message() - if message and should_yield(message): - yield message.as_dict() if as_dict else message + for message in super(CacheMixin, self).get_messages(names, with_definitions, as_dict): + yield message @property def messages(self): - # TODO: could this be more efficient? return list(self.get_messages()) def parse(self): while self._parse_message(): pass - def __iter__(self): - return self.get_messages() + +class DataProcessorMixin(object): + """Add data processing to the FitFileDecoder""" + + def __init__(self, *args, **kwargs): + self._processor = kwargs.pop("data_processor", None) or FitFileDataProcessor() + super(DataProcessorMixin, self).__init__(*args, **kwargs) + + def _parse_data_message(self, header): + header, def_mesg, field_datas = self._parse_data_message_components(header) + + # Apply data processors + for field_data in field_datas: + # Apply type name processor + self._processor.run_type_processor(field_data) + self._processor.run_field_processor(field_data) + self._processor.run_unit_processor(field_data) + + data_message = DataMessage(header=header, def_mesg=def_mesg, fields=field_datas) + self._processor.run_message_processor(data_message) + + return data_message + + +class UncachedFitFile(DataProcessorMixin, FitFileDecoder): + """FitFileDecoder with data processing""" + + def __init__(self, fileish, check_crc=True, data_processor=None): + # Ensure all optional params are passed as kwargs + super(UncachedFitFile, self).__init__( + fileish, + check_crc=check_crc, + data_processor=data_processor + ) + + +class FitFile(CacheMixin, UncachedFitFile): + """FitFileDecoder with caching and data processing""" + pass + # TODO: Create subclasses like Activity and do per-value monkey patching diff --git a/scripts/fitdump b/scripts/fitdump index b6043c2..2af0f20 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -96,7 +96,7 @@ class RecordJSONEncoder(json.JSONEncoder): def main(args=None): options = parse_args(args) - fitfile = fitparse.FitFile( + fitfile = fitparse.UncachedFitFile( options.infile, data_processor=fitparse.StandardUnitsDataProcessor(), check_crc=not(options.ignore_crc), diff --git a/tests/test.py b/tests/test.py index a0d2b37..082e9f6 100755 --- a/tests/test.py +++ b/tests/test.py @@ -417,7 +417,7 @@ def test_mismatched_field_size(self): f = FitFile(testfile('coros-pace-2-cycling-misaligned-fields.fit')) with warnings.catch_warnings(record=True) as w: f.parse() - assert len(w) == 5 + assert w assert all("falling back to byte encoding" in str(x) for x in w) self.assertEqual(len(f.messages), 11293) From 0f4e23edbb2039c6c175e1528a3245d76302484d Mon Sep 17 00:00:00 2001 From: Jochen Peters Date: Fri, 26 Jun 2020 15:43:05 +0200 Subject: [PATCH 08/27] Add basic GPX output (#108) Currently only outputs time, position, elevation, and speed. --- scripts/fitdump | 94 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 91 insertions(+), 3 deletions(-) diff --git a/scripts/fitdump b/scripts/fitdump index 2af0f20..5e4a4b4 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -4,7 +4,9 @@ from __future__ import print_function import argparse import codecs import datetime +import itertools import json +import os.path import sys import types @@ -47,7 +49,7 @@ def parse_args(args=None): ) parser.add_argument( # TODO: csv - '-t', '--type', choices=('readable', 'json'), default='readable', + '-t', '--type', choices=('readable', 'json', 'gpx'), default='readable', help='File type to output. (DEFAULT: %(default)s)', ) parser.add_argument( @@ -93,6 +95,86 @@ class RecordJSONEncoder(json.JSONEncoder): return super(RecordJSONEncoder, self).default(obj) +def generate_gpx(records, filename=None): + # TODO: Use xml.etree.ElementTree ? + + GPX_TIME_FMT = "%Y-%m-%dT%H:%M:%SZ" # ISO 8601 format + + records = iter(records) + + # header + open tags + yield '\n' + yield '\n' + yield ' \n' + + # file creation time (if a file_id record exists) + first_record = [] + for message in records: + if message.name == "file_id": + for field_data in message: + if field_data.name == "time_created" and type(field_data.value) == datetime.datetime: + yield ' \n'.format(field_data.value.strftime(GPX_TIME_FMT)) + break + else: + # No time found in the fields, check next record + continue + break + elif message.name == "record": + first_record.append(message) + break + + if filename: + yield ' {}\n'.format(filename) + + yield ' \n' + yield ' \n' + + if filename: + yield ' {}\n'.format(filename) + + yield ' \n' + + # track points + for message in itertools.chain(first_record, records): + if message.name != "record": + continue + + trkpt = {} + + # TODO: support more data types (heart rate, cadence, etc) + for field_data in message: + if field_data.name == "position_lat": + # Units are decimal degrees + trkpt["lat"] = field_data.value + elif field_data.name == "position_long": + # Units are decimal degrees + trkpt["lon"] = field_data.value + elif field_data.name == "enhanced_altitude": + # Units are m + trkpt["ele"] = field_data.value + elif field_data.name == "timestamp" and type(field_data.value) == datetime.datetime: + trkpt["time"] = field_data.value.strftime(GPX_TIME_FMT) + elif field_data.name == "enhanced_speed" and type(field_data.value) == float: + # convert from km/h to m/s + trkpt["speed"] = field_data.value / 3.6 + + # Add trackpoint + if "lat" in trkpt and "lon" in trkpt: + yield ' \n'.format(**trkpt) + if "ele" in trkpt: + yield ' {ele}\n'.format(**trkpt) + if "time" in trkpt: + yield ' \n'.format(**trkpt) + if "speed" in trkpt: + yield ' {speed}\n'.format(**trkpt) + yield ' \n' + + # close tags + yield ' \n' + yield ' \n' + yield '\n' + + def main(args=None): options = parse_args(args) @@ -111,8 +193,14 @@ def main(args=None): if options.type == "json": json.dump(records, fp=options.output, cls=RecordJSONEncoder) elif options.type == "readable": - options.output.writelines(format_message(n, record, options) - for n, record in enumerate(records, 1)) + options.output.writelines( + format_message(n, record, options) for n, record in enumerate(records, 1) + ) + elif options.type == "gpx": + filename = getattr(options.infile, "name") + if filename: + filename = os.path.basename(filename) + options.output.writelines(generate_gpx(records, filename)) finally: try: options.output.close() From 78241f3d0dda8cb7a2b29b599b2f519df1a30f9d Mon Sep 17 00:00:00 2001 From: David Cooper Date: Fri, 1 Jan 2021 17:47:06 -0800 Subject: [PATCH 09/27] License bump. Happy New Year! --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 3f8862a..18e253b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ MIT License -Copyright (c) 2011-2020, David Cooper -Copyright (c) 2017-2020, Carey Metcalfe +Copyright (c) 2011-2021, David Cooper +Copyright (c) 2017-2021, Carey Metcalfe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From f9ad9871c5df05af1aee9b0a2aeb2a871aaff559 Mon Sep 17 00:00:00 2001 From: Aart Goossens Date: Tue, 20 Apr 2021 10:13:27 +0200 Subject: [PATCH 10/27] Introduces DeveloperDataMixin to make python-fitparse thread-safe Fixes #125 --- fitparse/base.py | 65 +++++++++++++++++++++++++++++++++++++++------ fitparse/records.py | 46 -------------------------------- tests/test.py | 27 ++++++++++++++++++- 3 files changed, 83 insertions(+), 55 deletions(-) diff --git a/fitparse/base.py b/fitparse/base.py index c57d118..13087db 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -14,17 +14,64 @@ from fitparse.processors import FitFileDataProcessor from fitparse.profile import FIELD_TYPE_TIMESTAMP, MESSAGE_TYPES from fitparse.records import ( - Crc, DataMessage, FieldData, FieldDefinition, DevFieldDefinition, DefinitionMessage, MessageHeader, - BASE_TYPES, BASE_TYPE_BYTE, - add_dev_data_id, add_dev_field_description, get_dev_type + Crc, DevField, DataMessage, FieldData, FieldDefinition, DevFieldDefinition, DefinitionMessage, + MessageHeader, BASE_TYPES, BASE_TYPE_BYTE, ) from fitparse.utils import fileish_open, is_iterable, FitParseError, FitEOFError, FitCRCError, FitHeaderError -class FitFileDecoder(object): +class DeveloperDataMixin(object): + def __init__(self, *args, **kwargs): + self.dev_types = {} + + super(DeveloperDataMixin, self).__init__(*args, **kwargs) + + def add_dev_data_id(self, message): + dev_data_index = message.get_raw_value('developer_data_index') + application_id = message.get_raw_value('application_id') + + # Note that nothing in the spec says overwriting an existing type is invalid + self.dev_types[dev_data_index] = { + 'dev_data_index': dev_data_index, + 'application_id': application_id, + 'fields': {} + } + + def add_dev_field_description(self, message): + dev_data_index = message.get_raw_value('developer_data_index') + field_def_num = message.get_raw_value('field_definition_number') + base_type_id = message.get_raw_value('fit_base_type_id') + field_name = message.get_raw_value('field_name') or "unnamed_dev_field_%s" % field_def_num + units = message.get_raw_value("units") + native_field_num = message.get_raw_value('native_field_num') + + if dev_data_index not in self.dev_types: + raise FitParseError("No such dev_data_index=%s found" % (dev_data_index)) + fields = self.dev_types[int(dev_data_index)]['fields'] + + # Note that nothing in the spec says overwriting an existing field is invalid + fields[field_def_num] = DevField(dev_data_index=dev_data_index, + def_num=field_def_num, + type=BASE_TYPES[base_type_id], + name=field_name, + units=units, + native_field_num=native_field_num) + + + def get_dev_type(self, dev_data_index, field_def_num): + if dev_data_index not in self.dev_types: + raise FitParseError("No such dev_data_index=%s found when looking up field %s" % (dev_data_index, field_def_num)) + + if field_def_num not in self.dev_types[dev_data_index]['fields']: + raise FitParseError("No such field %s for dev_data_index %s" % (field_def_num, dev_data_index)) + + return self.dev_types[dev_data_index]['fields'][field_def_num] + + +class FitFileDecoder(DeveloperDataMixin): """Basic decoder for fit files""" - def __init__(self, fileish, check_crc=True, data_processor=None): + def __init__(self, fileish, *args, check_crc=True, data_processor=None, **kwargs): self._file = fileish_open(fileish, 'rb') self.check_crc = check_crc @@ -38,6 +85,8 @@ def __init__(self, fileish, check_crc=True, data_processor=None): # Start off by parsing the file header (sets initial attribute values) self._parse_file_header() + super(FitFileDecoder, self).__init__(*args, **kwargs) + def __del__(self): self.close() @@ -156,9 +205,9 @@ def _parse_message(self): message = self._parse_data_message(header) if message.mesg_type is not None: if message.mesg_type.name == 'developer_data_id': - add_dev_data_id(message) + self.add_dev_data_id(message) elif message.mesg_type.name == 'field_description': - add_dev_field_description(message) + self.add_dev_field_description(message) return message @@ -221,7 +270,7 @@ def _parse_definition_message(self, header): num_dev_fields = self._read_struct('B', endian=endian) for n in range(num_dev_fields): field_def_num, field_size, dev_data_index = self._read_struct('3B', endian=endian) - field = get_dev_type(dev_data_index, field_def_num) + field = self.get_dev_type(dev_data_index, field_def_num) dev_field_defs.append(DevFieldDefinition( field=field, dev_data_index=dev_data_index, diff --git a/fitparse/records.py b/fitparse/records.py index 77794d4..f9149e4 100644 --- a/fitparse/records.py +++ b/fitparse/records.py @@ -14,11 +14,6 @@ except ImportError: from itertools import izip_longest as zip_longest -from fitparse.utils import FitParseError - - -DEV_TYPES = {} - class RecordBase(object): # namedtuple-like base class. Subclasses should must __slots__ @@ -435,44 +430,3 @@ def parse_string(string): 0x8F: BaseType(name='uint64', identifier=0x8F, fmt='Q', parse=lambda x: None if x == 0xFFFFFFFFFFFFFFFF else x), 0x90: BaseType(name='uint64z', identifier=0x90, fmt='Q', parse=lambda x: None if x == 0 else x), } - - -def add_dev_data_id(message): - global DEV_TYPES - dev_data_index = message.get_raw_value('developer_data_index') - application_id = message.get_raw_value('application_id') - - # 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': {}} - - -def add_dev_field_description(message): - global DEV_TYPES - - dev_data_index = message.get_raw_value('developer_data_index') - field_def_num = message.get_raw_value('field_definition_number') - base_type_id = message.get_raw_value('fit_base_type_id') - field_name = message.get_raw_value('field_name') or "unnamed_dev_field_%s" % field_def_num - units = message.get_raw_value("units") - native_field_num = message.get_raw_value('native_field_num') - - if dev_data_index not in DEV_TYPES: - raise FitParseError("No such dev_data_index=%s found" % (dev_data_index)) - fields = DEV_TYPES[int(dev_data_index)]['fields'] - - # Note that nothing in the spec says overwriting an existing field is invalid - fields[field_def_num] = DevField(dev_data_index=dev_data_index, - def_num=field_def_num, - type=BASE_TYPES[base_type_id], - name=field_name, - units=units, - native_field_num=native_field_num) - - -def get_dev_type(dev_data_index, field_def_num): - if dev_data_index not in DEV_TYPES: - raise FitParseError("No such dev_data_index=%s found when looking up field %s" % (dev_data_index, field_def_num)) - elif field_def_num not in DEV_TYPES[dev_data_index]['fields']: - raise FitParseError("No such field %s for dev_data_index %s" % (field_def_num, dev_data_index)) - - return DEV_TYPES[dev_data_index]['fields'][field_def_num] diff --git a/tests/test.py b/tests/test.py index 082e9f6..eea5dc2 100755 --- a/tests/test.py +++ b/tests/test.py @@ -10,7 +10,7 @@ from fitparse import FitFile from fitparse.processors import UTC_REFERENCE, StandardUnitsDataProcessor from fitparse.records import BASE_TYPES, Crc -from fitparse.utils import FitEOFError, FitCRCError, FitHeaderError +from fitparse.utils import FitEOFError, FitCRCError, FitHeaderError, FitParseError if sys.version_info >= (2, 7): import unittest @@ -426,6 +426,31 @@ def test_unterminated_file(self): with warnings.catch_warnings(record=True) as w: f.parse() + def test_developer_data_thread_safe(self): + """ + Test that a file with developer types in it can be parsed thread-safe. + This test opens 2 FIT files and tests whether the dev_types of one does not change the dev_types of the other. + """ + fit_file_1 = FitFile(testfile('developer-types-sample.fit')) + field_description_count = 0 + for message in fit_file_1.get_messages(): + if message.mesg_type.name == "field_description": + field_description_count += 1 + if field_description_count >= 4: + # Break after final field description message + break + + fit_file_2 = FitFile(testfile('developer-types-sample.fit')) + for message in fit_file_2.get_messages(): + if message.mesg_type.name == "developer_data_id": + break + + try: + fit_file_1.parse() + except FitParseError: + self.fail("parse() unexpectedly raised a FitParseError") + + # TODO: # * Test Processors: # - process_type_<>, process_field_<>, process_units_<>, process_message_<> From 13535bd326ec3cd6bb352a7123509e8d3e43d73f Mon Sep 17 00:00:00 2001 From: David Cooper Date: Mon, 3 May 2021 16:10:55 -0400 Subject: [PATCH 11/27] Update README.md Fixes #127 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9841cb5..331c704 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ The old version is archived as and internal parts. (Still unstable and partially complete.) * Proper documentation! - [Available here](http://dtcooper.github.com/python-fitparse/). + [Available here](https://dtcooper.github.io/python-fitparse/). * Unit tests and example programs. From 11e7dbbd030c3f5f8c3312e8a60c4a4f5d31338c Mon Sep 17 00:00:00 2001 From: David Cooper Date: Mon, 3 May 2021 16:11:58 -0400 Subject: [PATCH 12/27] Another #127 fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 331c704..50c3cad 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ optional arguments: --ignore-crc Some devices can write invalid crc's, ignore these. ``` -See the documentation for more: http://dtcooper.github.com/python-fitparse +See the documentation for more: http://dtcooper.github.io/python-fitparse Major Changes From Original Version From af4cf3a8a92bd54694526811c5d8c41bcb2d0cb2 Mon Sep 17 00:00:00 2001 From: Aart Goossens Date: Tue, 20 Apr 2021 11:06:34 +0200 Subject: [PATCH 13/27] Ignore developer data errors by passing check_developer_data=False Fixes #124 --- fitparse/base.py | 96 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 77 insertions(+), 19 deletions(-) diff --git a/fitparse/base.py b/fitparse/base.py index 13087db..6af6392 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -21,22 +21,49 @@ class DeveloperDataMixin(object): - def __init__(self, *args, **kwargs): + def __init__(self, *args, check_developer_data=True, **kwargs): + self.check_developer_data = check_developer_data self.dev_types = {} super(DeveloperDataMixin, self).__init__(*args, **kwargs) - def add_dev_data_id(self, message): - dev_data_index = message.get_raw_value('developer_data_index') - application_id = message.get_raw_value('application_id') + def _append_dev_data_id(self, dev_data_index, application_id=None, fields=None): + if fields is None: + fields = {} # Note that nothing in the spec says overwriting an existing type is invalid self.dev_types[dev_data_index] = { 'dev_data_index': dev_data_index, 'application_id': application_id, - 'fields': {} + 'fields': fields } + def add_dev_data_id(self, message): + dev_data_index = message.get_raw_value('developer_data_index') + application_id = message.get_raw_value('application_id') + + self._append_dev_data_id(dev_data_index, application_id) + + def _append_dev_field_description(self, dev_data_index, field_def_num, type=BASE_TYPE_BYTE, name=None, + units=None, native_field_num=None): + if dev_data_index not in self.dev_types: + if self.check_developer_data: + raise FitParseError("No such dev_data_index=%s found" % (dev_data_index)) + + warnings.warn( + "Dev type for dev_data_index=%s missing. Adding dummy dev type." % (dev_data_index) + ) + self._append_dev_data_id(dev_data_index) + + self.dev_types[dev_data_index]["fields"][field_def_num] = DevField( + dev_data_index=dev_data_index, + def_num=field_def_num, + type=type, + name=name, + units=units, + native_field_num=native_field_num + ) + def add_dev_field_description(self, message): dev_data_index = message.get_raw_value('developer_data_index') field_def_num = message.get_raw_value('field_definition_number') @@ -46,26 +73,55 @@ def add_dev_field_description(self, message): native_field_num = message.get_raw_value('native_field_num') if dev_data_index not in self.dev_types: - raise FitParseError("No such dev_data_index=%s found" % (dev_data_index)) + if self.check_developer_data: + raise FitParseError("No such dev_data_index=%s found" % (dev_data_index)) + + warnings.warn( + "Dev type for dev_data_index=%s missing. Adding dummy dev type." % (dev_data_index) + ) + self._append_dev_data_id(dev_data_index) + fields = self.dev_types[int(dev_data_index)]['fields'] # Note that nothing in the spec says overwriting an existing field is invalid - fields[field_def_num] = DevField(dev_data_index=dev_data_index, - def_num=field_def_num, - type=BASE_TYPES[base_type_id], - name=field_name, - units=units, - native_field_num=native_field_num) - + fields[field_def_num] = DevField( + dev_data_index=dev_data_index, + def_num=field_def_num, + type=BASE_TYPES[base_type_id], + name=field_name, + units=units, + native_field_num=native_field_num + ) def get_dev_type(self, dev_data_index, field_def_num): if dev_data_index not in self.dev_types: - raise FitParseError("No such dev_data_index=%s found when looking up field %s" % (dev_data_index, field_def_num)) + if self.check_developer_data: + raise FitParseError( + "No such dev_data_index=%s found when looking up field %s" % (dev_data_index, field_def_num) + ) + + warnings.warn( + "Dev type for dev_data_index=%s missing. Adding dummy dev type." % (dev_data_index) + ) + self._append_dev_data_id(dev_data_index) - if field_def_num not in self.dev_types[dev_data_index]['fields']: - raise FitParseError("No such field %s for dev_data_index %s" % (field_def_num, dev_data_index)) + dev_type = self.dev_types[dev_data_index] - return self.dev_types[dev_data_index]['fields'][field_def_num] + if field_def_num not in dev_type['fields']: + if self.check_developer_data: + raise FitParseError( + "No such field %s for dev_data_index %s" % (field_def_num, dev_data_index) + ) + + warnings.warn( + "Field %s for dev_data_index %s missing. Adding dummy field." % (field_def_num, dev_data_index) + ) + self._append_dev_field_description( + dev_data_index=dev_data_index, + field_def_num=field_def_num + ) + + return dev_type['fields'][field_def_num] class FitFileDecoder(DeveloperDataMixin): @@ -554,12 +610,14 @@ def _parse_data_message(self, header): class UncachedFitFile(DataProcessorMixin, FitFileDecoder): """FitFileDecoder with data processing""" - def __init__(self, fileish, check_crc=True, data_processor=None): + def __init__(self, fileish, *args, check_crc=True, data_processor=None, **kwargs): # Ensure all optional params are passed as kwargs super(UncachedFitFile, self).__init__( fileish, + *args, check_crc=check_crc, - data_processor=data_processor + data_processor=data_processor, + **kwargs ) From fd3bd56da6d0a31dd2fdaa725c2f922a35b6be0b Mon Sep 17 00:00:00 2001 From: David Cooper Date: Fri, 7 Jan 2022 18:02:44 -0500 Subject: [PATCH 14/27] Update LICENSE Happy New Year! --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 18e253b..387b0b0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ MIT License -Copyright (c) 2011-2021, David Cooper -Copyright (c) 2017-2021, Carey Metcalfe +Copyright (c) 2011-2022, David Cooper +Copyright (c) 2017-2022, Carey Metcalfe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 71fc57b735ded7d19bd40088298fd42980a6edd7 Mon Sep 17 00:00:00 2001 From: Mathias B Date: Sun, 3 Apr 2022 21:54:35 +0200 Subject: [PATCH 15/27] Handle error when parsing field with sleep_time of 86400 (#138) Fixes #132 --- fitparse/processors.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fitparse/processors.py b/fitparse/processors.py index 493f166..268859e 100644 --- a/fitparse/processors.py +++ b/fitparse/processors.py @@ -83,9 +83,18 @@ def process_type_local_date_time(self, field_data): def process_type_localtime_into_day(self, field_data): if field_data.value is not None: - m, s = divmod(field_data.value, 60) - h, m = divmod(m, 60) - field_data.value = datetime.time(h, m, s) + # NOTE: Values larger or equal to 86400 should not be possible. + # Additionally, if the value is exactly 86400, it will lead to an error when trying to + # create the time with datetime.time(24, 0 , 0). + # + # E.g. Garmin does add "sleep_time": 86400 to its fit files, + # which causes an error if not properly handled. + if field_data.value >= 86400: + field_data.value = datetime.time.max + else: + m, s = divmod(field_data.value, 60) + h, m = divmod(m, 60) + field_data.value = datetime.time(h, m, s) field_data.units = None From f28f220f8895a586fbc7f9afd62179f144fcfe61 Mon Sep 17 00:00:00 2001 From: Carey Metcalfe Date: Sun, 3 Apr 2022 16:10:51 -0400 Subject: [PATCH 16/27] Remove unsupported Python versions from CI script --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a535b93..0d7ee4e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['2.7', '3.3', '3.4', '3.5', '3.6', '3.x', 'pypy2', 'pypy3'] + python-version: ['2.7', '3.5', '3.6', '3.x', 'pypy2', 'pypy3'] steps: - uses: actions/checkout@v2 From 2a99f92bcdd43cd6179eaa9ddf5dab41b9861de2 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Wed, 7 Sep 2022 13:53:18 -0700 Subject: [PATCH 17/27] Update README.md Call for maintiner --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 50c3cad..09c8882 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,16 @@ python-fitparse =============== +> :warning: **NOTE:** *I have **limited to no time** to work on this package +> these days!* +> +> I am looking for a maintainer to help with issues and updating/releasing the package. +> Please reach out via email at if you have interest in helping. +> +> Cheers, +> +> David + Here's a Python library to parse ANT/Garmin `.FIT` files. [![Build Status](https://github.com/dtcooper/python-fitparse/workflows/test/badge.svg)](https://github.com/dtcooper/python-fitparse/actions?query=workflow%3Atest) From 301970f5da492ae23635bf5e3a55b3836785fa9f Mon Sep 17 00:00:00 2001 From: Tom Fryers Date: Mon, 22 Aug 2022 21:12:56 +0100 Subject: [PATCH 18/27] Use pyupgrade --- fitparse/base.py | 30 +++++++++++++++--------------- fitparse/processors.py | 4 ++-- fitparse/profile.py | 1 - fitparse/records.py | 18 +++++++++--------- fitparse/utils.py | 2 +- 5 files changed, 27 insertions(+), 28 deletions(-) diff --git a/fitparse/base.py b/fitparse/base.py index 6af6392..8880a00 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -20,12 +20,12 @@ from fitparse.utils import fileish_open, is_iterable, FitParseError, FitEOFError, FitCRCError, FitHeaderError -class DeveloperDataMixin(object): +class DeveloperDataMixin: def __init__(self, *args, check_developer_data=True, **kwargs): self.check_developer_data = check_developer_data self.dev_types = {} - super(DeveloperDataMixin, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def _append_dev_data_id(self, dev_data_index, application_id=None, fields=None): if fields is None: @@ -97,7 +97,7 @@ def get_dev_type(self, dev_data_index, field_def_num): if dev_data_index not in self.dev_types: if self.check_developer_data: raise FitParseError( - "No such dev_data_index=%s found when looking up field %s" % (dev_data_index, field_def_num) + f"No such dev_data_index={dev_data_index} found when looking up field {field_def_num}" ) warnings.warn( @@ -110,11 +110,11 @@ def get_dev_type(self, dev_data_index, field_def_num): if field_def_num not in dev_type['fields']: if self.check_developer_data: raise FitParseError( - "No such field %s for dev_data_index %s" % (field_def_num, dev_data_index) + f"No such field {field_def_num} for dev_data_index {dev_data_index}" ) warnings.warn( - "Field %s for dev_data_index %s missing. Adding dummy field." % (field_def_num, dev_data_index) + f"Field {field_def_num} for dev_data_index {dev_data_index} missing. Adding dummy field." ) self._append_dev_field_description( dev_data_index=dev_data_index, @@ -141,7 +141,7 @@ def __init__(self, fileish, *args, check_crc=True, data_processor=None, **kwargs # Start off by parsing the file header (sets initial attribute values) self._parse_file_header() - super(FitFileDecoder, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def __del__(self): self.close() @@ -193,7 +193,7 @@ def _read_and_assert_crc(self, allow_zero=False): return if crc_computed == crc_read or (allow_zero and crc_read == 0): return - raise FitCRCError('CRC Mismatch [computed: %s, read: %s]' % ( + raise FitCRCError('CRC Mismatch [computed: {}, read: {}]'.format( Crc.format(crc_computed), Crc.format(crc_read))) ########## @@ -530,7 +530,7 @@ def _make_set(obj): if is_iterable(obj): return set(obj) else: - return set((obj,)) + return {obj} ########## # Public API @@ -550,15 +550,15 @@ def __iter__(self): return self.get_messages() -class CacheMixin(object): +class CacheMixin: """Add message caching to the FitFileDecoder""" def __init__(self, *args, **kwargs): - super(CacheMixin, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self._messages = [] def _parse_message(self): - self._messages.append(super(CacheMixin, self)._parse_message()) + self._messages.append(super()._parse_message()) return self._messages[-1] def get_messages(self, name=None, with_definitions=False, as_dict=False): @@ -572,7 +572,7 @@ def get_messages(self, name=None, with_definitions=False, as_dict=False): if self._should_yield(message, with_definitions, names): yield message.as_dict() if as_dict else message - for message in super(CacheMixin, self).get_messages(names, with_definitions, as_dict): + for message in super().get_messages(names, with_definitions, as_dict): yield message @property @@ -584,12 +584,12 @@ def parse(self): pass -class DataProcessorMixin(object): +class DataProcessorMixin: """Add data processing to the FitFileDecoder""" def __init__(self, *args, **kwargs): self._processor = kwargs.pop("data_processor", None) or FitFileDataProcessor() - super(DataProcessorMixin, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def _parse_data_message(self, header): header, def_mesg, field_datas = self._parse_data_message_components(header) @@ -612,7 +612,7 @@ class UncachedFitFile(DataProcessorMixin, FitFileDecoder): def __init__(self, fileish, *args, check_crc=True, data_processor=None, **kwargs): # Ensure all optional params are passed as kwargs - super(UncachedFitFile, self).__init__( + super().__init__( fileish, *args, check_crc=check_crc, diff --git a/fitparse/processors.py b/fitparse/processors.py index 268859e..6848584 100644 --- a/fitparse/processors.py +++ b/fitparse/processors.py @@ -5,7 +5,7 @@ UTC_REFERENCE = 631065600 # timestamp for UTC 00:00 Dec 31 1989 -class FitFileDataProcessor(object): +class FitFileDataProcessor: # TODO: Document API # Functions that will be called to do the processing: #def run_type_processor(field_data) @@ -107,7 +107,7 @@ def run_field_processor(self, field_data): if field_data.name.endswith("_speed"): self.process_field_speed(field_data) else: - super(StandardUnitsDataProcessor, self).run_field_processor(field_data) + super().run_field_processor(field_data) def process_field_distance(self, field_data): if field_data.value is not None: diff --git a/fitparse/profile.py b/fitparse/profile.py index aa6ddbd..ce44c78 100644 --- a/fitparse/profile.py +++ b/fitparse/profile.py @@ -1,4 +1,3 @@ - # ***************** BEGIN AUTOMATICALLY GENERATED FIT PROFILE ****************** # *************************** DO NOT EDIT THIS FILE **************************** # ************ EXPORTED PROFILE FROM SDK VERSION 20.8 ON 2019-03-05 ************ diff --git a/fitparse/records.py b/fitparse/records.py index f9149e4..857a1dc 100644 --- a/fitparse/records.py +++ b/fitparse/records.py @@ -15,7 +15,7 @@ from itertools import izip_longest as zip_longest -class RecordBase(object): +class RecordBase: # namedtuple-like base class. Subclasses should must __slots__ __slots__ = () @@ -83,7 +83,7 @@ class DevFieldDefinition(RecordBase): __slots__ = ('field', 'dev_data_index', 'base_type', 'def_num', 'size') def __init__(self, **kwargs): - super(DevFieldDefinition, self).__init__(**kwargs) + super().__init__(**kwargs) # For dev fields, the base_type and type are always the same. self.base_type = self.type @@ -129,7 +129,7 @@ def get_value(self, field_name): def get_values(self): # SIMPLIFY: get rid of this completely - return dict((f.name if f.name else f.def_num, f.value) for f in self.fields) + return {f.name if f.name else f.def_num: f.value for f in self.fields} @property def name(self): @@ -159,7 +159,7 @@ def __iter__(self): def __repr__(self): return '' % ( self.name, self.mesg_num, self.header.local_mesg_num, - ', '.join(["%s: %s" % (fd.name, fd.value) for fd in self.fields]), + ', '.join([f"{fd.name}: {fd.value}" for fd in self.fields]), ) def __str__(self): @@ -171,7 +171,7 @@ class FieldData(RecordBase): __slots__ = ('field_def', 'field', 'parent_field', 'value', 'raw_value', 'units') def __init__(self, *args, **kwargs): - super(FieldData, self).__init__(self, *args, **kwargs) + super().__init__(self, *args, **kwargs) if not self.units and self.field: # Default to units on field, otherwise None. # NOTE:Not a property since you may want to override this in a data processor @@ -233,7 +233,7 @@ def __repr__(self): ) def __str__(self): - return '%s: %s%s' % ( + return '{}: {}{}'.format( self.name, self.value, ' [%s]' % self.units if self.units else '', ) @@ -260,7 +260,7 @@ class FieldType(RecordBase): __slots__ = ('name', 'base_type', 'values') def __repr__(self): - return '' % (self.name, self.base_type) + return f'' class MessageType(RecordBase): @@ -342,7 +342,7 @@ def render(self, raw_value): return raw_value -class Crc(object): +class Crc: """FIT file CRC computation.""" CRC_TABLE = ( @@ -358,7 +358,7 @@ def __init__(self, value=0, byte_arr=None): self.update(byte_arr) def __repr__(self): - return '<%s %s>' % (self.__class__.__name__, self.value or "-") + return '<{} {}>'.format(self.__class__.__name__, self.value or "-") def __str__(self): return self.format(self.value) diff --git a/fitparse/utils.py b/fitparse/utils.py index aa70a90..568df0f 100644 --- a/fitparse/utils.py +++ b/fitparse/utils.py @@ -3,7 +3,7 @@ try: from collections.abc import Iterable except ImportError: - from collections import Iterable + from collections.abc import Iterable try: # Python 3.4+ From 06b68d684a338cbffe15b903286bcacee2f27157 Mon Sep 17 00:00:00 2001 From: Tom Fryers Date: Mon, 22 Aug 2022 21:22:17 +0100 Subject: [PATCH 19/27] Remove Python 2 compatibility code --- docs/index.rst | 2 +- fitparse/base.py | 8 +------- fitparse/records.py | 22 ++++------------------ fitparse/utils.py | 25 +++++++------------------ scripts/fitdump | 17 ++--------------- setup.py | 4 ++-- tests/test.py | 6 +----- tests/test_records.py | 8 +------- tests/test_utils.py | 15 +++------------ 9 files changed, 22 insertions(+), 85 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 434a376..4a4fc30 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -56,7 +56,7 @@ Requirements The following are required to install :mod:`fitparse`, -* `Python `_ 2.7 and above +* `Python `_ 3.6 and above API Documentation diff --git a/fitparse/base.py b/fitparse/base.py index 8880a00..b0ebf87 100644 --- a/fitparse/base.py +++ b/fitparse/base.py @@ -5,12 +5,6 @@ import struct import warnings -# Python 2 compat -try: - num_types = (int, float, long) -except NameError: - num_types = (int, float) - from fitparse.processors import FitFileDataProcessor from fitparse.profile import FIELD_TYPE_TIMESTAMP, MESSAGE_TYPES from fitparse.records import ( @@ -396,7 +390,7 @@ def _apply_scale_offset(self, field, raw_value): if isinstance(raw_value, tuple): # Contains multiple values, apply transformations to all of them return tuple(self._apply_scale_offset(field, x) for x in raw_value) - elif isinstance(raw_value, num_types): + elif isinstance(raw_value, (int, float)): if field.scale: raw_value = float(raw_value) / field.scale if field.offset: diff --git a/fitparse/records.py b/fitparse/records.py index 857a1dc..7d557fa 100644 --- a/fitparse/records.py +++ b/fitparse/records.py @@ -1,18 +1,7 @@ import math import struct -# Python 2 compat -try: - int_types = (int, long,) - byte_iter = bytearray -except NameError: - int_types = (int,) - byte_iter = lambda x: x - -try: - from itertools import zip_longest -except ImportError: - from itertools import izip_longest as zip_longest +from itertools import zip_longest class RecordBase: @@ -336,7 +325,7 @@ def render(self, raw_value): raw_value = unpacked_num # Mask and shift like a normal number - if isinstance(raw_value, int_types): + if isinstance(raw_value, int): raw_value = (raw_value >> self.bit_offset) & ((1 << self.bits) - 1) return raw_value @@ -376,7 +365,7 @@ def format(value): @classmethod def calculate(cls, byte_arr, crc=0): """Compute CRC for input bytes.""" - for byte in byte_iter(byte_arr): + for byte in byte_arr: # Taken verbatim from FIT SDK docs tmp = cls.CRC_TABLE[crc & 0xF] crc = (crc >> 4) & 0x0FFF @@ -390,10 +379,7 @@ def calculate(cls, byte_arr, crc=0): def parse_string(string): try: - try: - s = string[:string.index(0x00)] - except TypeError: # Python 2 compat - s = string[:string.index('\x00')] + s = string[:string.index('\x00')] except ValueError: # FIT specification defines the 'string' type as follows: "Null # terminated string encoded in UTF-8 format". diff --git a/fitparse/utils.py b/fitparse/utils.py index 568df0f..65f424a 100644 --- a/fitparse/utils.py +++ b/fitparse/utils.py @@ -1,15 +1,8 @@ import io import re -try: - from collections.abc import Iterable -except ImportError: - from collections.abc import Iterable +from collections.abc import Iterable -try: - # Python 3.4+ - from pathlib import PurePath -except ImportError: - PurePath = None +from pathlib import PurePath class FitParseError(ValueError): @@ -56,18 +49,14 @@ def fileish_open(fileish, mode): # BytesIO-like object return fileish elif isinstance(fileish, str): - # Python2 - file path, file contents in the case of a TypeError - # Python3 - file path - try: - return open(fileish, mode) - except TypeError: - return io.BytesIO(fileish) + # file path + return open(fileish, mode) - # Python 3 - pathlib obj - if PurePath and isinstance(fileish, PurePath): + # pathlib obj + if isinstance(fileish, PurePath): return fileish.open(mode) - # Python 3 - file contents + # file contents return io.BytesIO(fileish) diff --git a/scripts/fitdump b/scripts/fitdump index 5e4a4b4..c907972 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -7,16 +7,8 @@ import datetime import itertools import json import os.path -import sys import types -# Python 2 compat -try: - BrokenPipeError -except NameError: - import socket - BrokenPipeError = socket.error - import fitparse @@ -44,7 +36,8 @@ def parse_args(args=None): ) parser.add_argument('-v', '--verbose', action='count', default=0) parser.add_argument( - '-o', '--output', type=argparse.FileType(mode='w'), default="-", + '-o', '--output', type=argparse.FileType(mode='w', encoding="utf-8"), + default="-", help='File to output data into (defaults to stdout)', ) parser.add_argument( @@ -65,12 +58,6 @@ def parse_args(args=None): options = parser.parse_args(args) - # Work around argparse.FileType not accepting an `encoding` kwarg in - # Python < 3.4 by closing and reopening the file (unless it's stdout) - if options.output is not sys.stdout: - options.output.close() - options.output = codecs.open(options.output.name, 'w', encoding='UTF-8') - options.verbose = options.verbose >= 1 options.with_defs = (options.type == "readable" and options.verbose) options.as_dict = (options.type != "readable" and options.verbose) diff --git a/setup.py b/setup.py index 7c8dc13..ad51427 100644 --- a/setup.py +++ b/setup.py @@ -5,8 +5,8 @@ requires = None -if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 3): - sys.exit("Python 2.7 or Python 3.3+ are required.") +if sys.version_info < (3, 6): + sys.exit("Python 3.6+ is required.") setup( diff --git a/tests/test.py b/tests/test.py index eea5dc2..fd23282 100755 --- a/tests/test.py +++ b/tests/test.py @@ -4,7 +4,6 @@ import datetime import os from struct import pack -import sys import warnings from fitparse import FitFile @@ -12,10 +11,7 @@ from fitparse.records import BASE_TYPES, Crc from fitparse.utils import FitEOFError, FitCRCError, FitHeaderError, FitParseError -if sys.version_info >= (2, 7): - import unittest -else: - import unittest2 as unittest +import unittest def generate_messages(mesg_num, local_mesg_num, field_defs, endian='<', data=None): diff --git a/tests/test_records.py b/tests/test_records.py index 5e3b823..fd401f9 100644 --- a/tests/test_records.py +++ b/tests/test_records.py @@ -1,14 +1,8 @@ #!/usr/bin/env python -import sys - from fitparse.records import Crc -if sys.version_info >= (2, 7): - import unittest -else: - import unittest2 as unittest - +import unittest class RecordsTestCase(unittest.TestCase): def test_crc(self): diff --git a/tests/test_utils.py b/tests/test_utils.py index 01d3409..9d456aa 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -2,21 +2,13 @@ import io import os -import sys import tempfile -try: - # Python 3.4+ - from pathlib import Path -except ImportError: - Path = None +from pathlib import Path from fitparse.utils import fileish_open, is_iterable -if sys.version_info >= (2, 7): - import unittest -else: - import unittest2 as unittest +import unittest def testfile(filename): @@ -44,8 +36,7 @@ def test_fopen(fileish): test_fopen(f.read()) with open(testfile("nametest.FIT"), 'rb') as f: test_fopen(io.BytesIO(f.read())) - if Path: - test_fopen(Path(testfile('nametest.FIT'))) + test_fopen(Path(testfile('nametest.FIT'))) def test_fileish_open_write(self): From 90d0aacad1d595f03368cb66ca7435a179672a85 Mon Sep 17 00:00:00 2001 From: Tom Fryers Date: Mon, 22 Aug 2022 22:25:34 +0100 Subject: [PATCH 20/27] Pyupgrade tests scripts and tests --- scripts/fitdump | 19 +++++++++---------- scripts/generate_profile.py | 34 +++++++++++++++++----------------- scripts/unit_tool.py | 2 +- tests/test.py | 8 ++++---- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/scripts/fitdump b/scripts/fitdump index c907972..629f61b 100755 --- a/scripts/fitdump +++ b/scripts/fitdump @@ -1,5 +1,4 @@ #!/usr/bin/env python -from __future__ import print_function import argparse import codecs @@ -13,16 +12,16 @@ import fitparse def format_message(num, message, options): - s = ["{}. {}".format(num, message.name)] + s = [f"{num}. {message.name}"] if options.with_defs: - s.append(' [{}]'.format(message.type)) + s.append(f' [{message.type}]') s.append('\n') if message.type == 'data': for field_data in message: - s.append(' * {}: {}'.format(field_data.name, field_data.value)) + s.append(f' * {field_data.name}: {field_data.value}') if field_data.units: - s.append(' [{}]'.format(field_data.units)) + s.append(f' [{field_data.units}]') s.append('\n') s.append('\n') @@ -79,7 +78,7 @@ class RecordJSONEncoder(json.JSONEncoder): } } # Fall back to original to raise a TypeError - return super(RecordJSONEncoder, self).default(obj) + return super().default(obj) def generate_gpx(records, filename=None): @@ -100,7 +99,7 @@ def generate_gpx(records, filename=None): if message.name == "file_id": for field_data in message: if field_data.name == "time_created" and type(field_data.value) == datetime.datetime: - yield ' \n'.format(field_data.value.strftime(GPX_TIME_FMT)) + yield f' \n' break else: # No time found in the fields, check next record @@ -111,13 +110,13 @@ def generate_gpx(records, filename=None): break if filename: - yield ' {}\n'.format(filename) + yield f' {filename}\n' yield ' \n' yield ' \n' if filename: - yield ' {}\n'.format(filename) + yield f' {filename}\n' yield ' \n' @@ -191,7 +190,7 @@ def main(args=None): finally: try: options.output.close() - except IOError: + except OSError: pass if __name__ == '__main__': diff --git a/scripts/generate_profile.py b/scripts/generate_profile.py index c88ab60..5d5a5fb 100755 --- a/scripts/generate_profile.py +++ b/scripts/generate_profile.py @@ -28,14 +28,14 @@ def header(header, indent=0): - return '%s# %s' % (' ' * indent, (' %s ' % header).center(78 - indent, '*')) + return '{}# {}'.format(' ' * indent, (' %s ' % header).center(78 - indent, '*')) def scrub_symbol_name(symbol_name): return SYMBOL_NAME_SCRUBBER.sub('_', symbol_name) -PROFILE_HEADER_FIRST_PART = "%s\n%s" % ( +PROFILE_HEADER_FIRST_PART = "{}\n{}".format( header('BEGIN AUTOMATICALLY GENERATED FIT PROFILE'), header('DO NOT EDIT THIS FILE'), ) @@ -92,7 +92,7 @@ def scrub_symbol_name(symbol_name): def render_type(name): if name in BASE_TYPES: - return "BASE_TYPES[%s], # %s" % (BASE_TYPES[name], name) + return "BASE_TYPES[{}], # {}".format(BASE_TYPES[name], name) else: return "FIELD_TYPES['%s']," % name @@ -121,7 +121,7 @@ def get_mesg_num(self, name): def __str__(self): s = 'FIELD_TYPES = {\n' for type in sorted(self.types, key=lambda x: x.name): - s += " '%s': %s,\n" % (type.name, indent(type)) + s += " '{}': {},\n".format(type.name, indent(type)) s += '}' return s @@ -131,18 +131,18 @@ def get(self, value_name): for value in self.values: if value.name == value_name: return value - raise AssertionError("Invalid value name %s in type %s" % (value_name, self.name)) + raise AssertionError("Invalid value name {} in type {}".format(value_name, self.name)) def __str__(self): s = 'FieldType(%s\n' % render_comment(self.comment) s += " name='%s',\n" % (self.name) - s += " base_type=BASE_TYPES[%s], # %s\n" % ( + s += " base_type=BASE_TYPES[{}], # {}\n".format( BASE_TYPES[self.base_type], self.base_type, ) if self.values: s += " values={\n" for value in sorted(self.values, key=lambda x: x.value if isinstance(x.value, int) else int(x.value, 16)): - s += " %s\n" % (value,) + s += " {}\n".format(value) s += " },\n" s += ")" return s @@ -150,7 +150,7 @@ def __str__(self): class TypeValueInfo(namedtuple('TypeValueInfo', ('name', 'value', 'comment'))): def __str__(self): - return "%s: '%s',%s" % (self.value, self.name, render_comment(self.comment)) + return "{}: '{}',{}".format(self.value, self.name, render_comment(self.comment)) class MessageList(namedtuple('MessageList', ('messages'))): @@ -170,7 +170,7 @@ def __str__(self): s += '\n\n' s += "%s\n" % header(message.group_name, 4) last_group_name = message.group_name - s += " %s: %s,\n" % (message.num, indent(message)) + s += " {}: {},\n".format(message.num, indent(message)) s += '}' return s @@ -188,7 +188,7 @@ def get_field_by_name(self, mesg_name, field_name): if field.name == field_name: return mesg, field - raise ValueError('field "%s" not found in message "%s"' % (field_name, mesg_name)) + raise ValueError('field "{}" not found in message "{}"'.format(field_name, mesg_name)) class MessageInfo(namedtuple('MessageInfo', ('name', 'num', 'group_name', 'fields', 'comment'))): @@ -196,7 +196,7 @@ def get(self, field_name): for field in self.fields: if field.name == field_name: return field - raise AssertionError("Invalid field name %s in message %s" % (field_name, self.name)) + raise AssertionError("Invalid field name {} in message {}".format(field_name, self.name)) def __str__(self): s = "MessageType(%s\n" % render_comment(self.comment) @@ -391,7 +391,7 @@ def parse_types(types_rows): if value.name and value.value is not None: # Don't add ignore keyed types - if "%s:%s" % (type.name, value.name) not in IGNORE_TYPE_VALUES: + if "{}:{}".format(type.name, value.name) not in IGNORE_TYPE_VALUES: type.values.append(value) # Add missing boolean type if it's not there @@ -546,7 +546,7 @@ def get_xls_and_version_from_zip(path): def main(input_xls_or_zip, output_py_path=None): if output_py_path and os.path.exists(output_py_path): - if not open(output_py_path, 'r').read().strip().startswith(PROFILE_HEADER_FIRST_PART): + if not open(output_py_path).read().strip().startswith(PROFILE_HEADER_FIRST_PART): print("Python file doesn't begin with appropriate header. Exiting.") sys.exit(1) @@ -563,7 +563,7 @@ def main(input_xls_or_zip, output_py_path=None): for mesg_name in MESSAGE_NUM_DECLARATIONS: mesg_info = message_list.get_by_name(mesg_name) - mesg_num_declarations.append('MESG_NUM_%s = %s' % ( + mesg_num_declarations.append('MESG_NUM_{} = {}'.format( scrub_symbol_name(mesg_name).upper(), str(mesg_info.num) if mesg_info else 'None')) @@ -573,7 +573,7 @@ def main(input_xls_or_zip, output_py_path=None): mesg_name, field_name = field_fqn.split('.', maxsplit=1) mesg_info, field_info = message_list.get_field_by_name(mesg_name, field_name) - field_decl = 'FIELD_NUM_%s_%s = %s' % ( + field_decl = 'FIELD_NUM_{}_{} = {}'.format( scrub_symbol_name(mesg_name).upper(), scrub_symbol_name(field_name).upper(), str(field_info.num)) @@ -582,7 +582,7 @@ def main(input_xls_or_zip, output_py_path=None): output = '\n'.join([ "\n%s" % PROFILE_HEADER_FIRST_PART, - header('EXPORTED PROFILE FROM %s ON %s' % ( + header('EXPORTED PROFILE FROM {} ON {}'.format( ('SDK VERSION %s' % profile_version) if profile_version else 'SPREADSHEET', datetime.datetime.now().strftime('%Y-%m-%d'), )), @@ -609,7 +609,7 @@ def main(input_xls_or_zip, output_py_path=None): if output_py_path: open(output_py_path, 'w').write(output) - print('Profile version %s written to %s' % ( + print('Profile version {} written to {}'.format( profile_version if profile_version else '', output_py_path)) else: diff --git a/scripts/unit_tool.py b/scripts/unit_tool.py index ee1c876..0f66258 100755 --- a/scripts/unit_tool.py +++ b/scripts/unit_tool.py @@ -54,7 +54,7 @@ def do_fitparse_profile(): if __name__ == '__main__': if len(sys.argv) < 2: - print("Usage: {0} Profile.xls".format(os.path.basename(__file__))) + print(f"Usage: {os.path.basename(__file__)} Profile.xls") sys.exit(0) do_profile_xls() diff --git a/tests/test.py b/tests/test.py index fd23282..886f21f 100755 --- a/tests/test.py +++ b/tests/test.py @@ -35,7 +35,7 @@ def generate_messages(mesg_num, local_mesg_num, field_defs, endian='<', data=Non for mesg_data in data: s = pack('B', local_mesg_num) for value, base_type in zip(mesg_data, base_type_list): - s += pack("%s%s" % (endian, base_type.fmt), value) + s += pack("{}{}".format(endian, base_type.fmt), value) mesgs.append(s) return b''.join(mesgs) @@ -106,7 +106,7 @@ def test_basic_file_big_endian(self): def test_component_field_accumulaters(self): # TODO: abstract CSV parsing - csv_fp = open(testfile('compressed-speed-distance-records.csv'), 'r') + csv_fp = open(testfile('compressed-speed-distance-records.csv')) csv_file = csv.reader(csv_fp) next(csv_file) # Consume header @@ -252,7 +252,7 @@ def test_parsing_edge_820_fit_file(self): 'garmin-edge-820-bike-records.csv') def _csv_test_helper(self, fit_file, csv_file): - csv_fp = open(testfile(csv_file), 'r') + csv_fp = open(testfile(csv_file)) csv_messages = csv.reader(csv_fp) field_names = next(csv_messages) # Consume header @@ -298,7 +298,7 @@ def _csv_test_helper(self, fit_file, csv_file): self.assertAlmostEqual(fit_value, float(csv_value)) else: self.assertEqual(fit_value, csv_value, - msg="For %s, FIT value '%s' did not match CSV value '%s'" % (field_name, fit_value, csv_value)) + msg="For {}, FIT value '{}' did not match CSV value '{}'".format(field_name, fit_value, csv_value)) try: next(messages) From 4372b36cbfbe8661a2cb843a33f5435504ae0bbc Mon Sep 17 00:00:00 2001 From: Tom Fryers Date: Wed, 7 Sep 2022 08:57:31 +0100 Subject: [PATCH 21/27] Fix indexing --- fitparse/records.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fitparse/records.py b/fitparse/records.py index 7d557fa..e9fcd6a 100644 --- a/fitparse/records.py +++ b/fitparse/records.py @@ -379,7 +379,7 @@ def calculate(cls, byte_arr, crc=0): def parse_string(string): try: - s = string[:string.index('\x00')] + s = string[:string.index(0x00)] except ValueError: # FIT specification defines the 'string' type as follows: "Null # terminated string encoded in UTF-8 format". From c18025756de7d87fe0ea805046fff0637f5254d7 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Wed, 22 Feb 2023 13:55:38 -0500 Subject: [PATCH 22/27] Update README.md Add link to fitdecode in absence of a maintainer --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 09c8882..d526522 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ python-fitparse > I am looking for a maintainer to help with issues and updating/releasing the package. > Please reach out via email at if you have interest in helping. > +> If you're having trouble using this package for whatever reason, might we suggest using +> an alternative library: [fitdecode](https://github.com/polyvertex/fitdecode) by +> [polyvertex](https://github.com/polyvertex). +> > Cheers, > > David From 245945113f164a8556e0d087203c725a1e6e6cbe Mon Sep 17 00:00:00 2001 From: Daniel Lenski Date: Wed, 20 Oct 2021 07:43:12 -0700 Subject: [PATCH 23/27] Cleanup Python versions used for GitHub Actions GitHub Actions no longer supports Python versions prior to 3.7, including 2.7. Also, `docs/index.rst` has declared 3.6 to be the minimum supported version since 06b68d684, and python-fitparse has not compiled with Python 2.7 since f9ad9871c5df05af1aee9b0a2aeb2a871aaff559 (which uses Python 3.x-only syntax). --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d7ee4e..d176d94 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['2.7', '3.5', '3.6', '3.x', 'pypy2', 'pypy3'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.x'] steps: - uses: actions/checkout@v2 From 4fc9cd813ea0b6a191c95fa31b194ac65ac129f0 Mon Sep 17 00:00:00 2001 From: Daniel Lenski Date: Thu, 30 Sep 2021 13:50:38 -0700 Subject: [PATCH 24/27] Add strava_product subfield to identify FIT files generated by Strava apps --- fitparse/profile.py | 60 ++++++++++++++++++ .../strava-android-app-201.10-b1218918.fit | Bin 0 -> 78233 bytes 2 files changed, 60 insertions(+) create mode 100644 tests/files/strava-android-app-201.10-b1218918.fit diff --git a/fitparse/profile.py b/fitparse/profile.py index ce44c78..daaf579 100644 --- a/fitparse/profile.py +++ b/fitparse/profile.py @@ -1380,6 +1380,14 @@ 7: 'swiss_ball_dumbbell_flye', }, ), + 'strava_product': FieldType( + name='strava_product', + base_type=BASE_TYPES[0x84], # uint16 + values={ + 101: 'Strava iPhone App', # recent versions of Strava iPhone app + 102: 'Strava Android App', # recent versions of Strava Android app + } + ), 'garmin_product': FieldType( name='garmin_product', base_type=BASE_TYPES[0x84], # uint16 @@ -4009,6 +4017,19 @@ value='dynastream_oem', raw_value=13, ), + ) + ), + SubField( + name='strava_product', + def_num=2, + type=FIELD_TYPES['strava_product'], + ref_fields=( + ReferenceField( + name='manufacturer', + def_num=1, + value='strava', + raw_value=265, + ), ), ), ), @@ -7077,6 +7098,19 @@ ), ), ), + SubField( + name='strava_product', + def_num=4, + type=FIELD_TYPES['strava_product'], + ref_fields=( + ReferenceField( + name='manufacturer', + def_num=2, + value='strava', + raw_value=265, + ), + ), + ), ), ), 5: Field( @@ -8580,6 +8614,19 @@ ), ), ), + SubField( + name='strava_product', + def_num=1, + type=FIELD_TYPES['strava_product'], + ref_fields=( + ReferenceField( + name='manufacturer', + def_num=0, + value='strava', + raw_value=265, + ), + ), + ), ), ), }, @@ -11446,6 +11493,19 @@ ), ), ), + SubField( + name='strava_product', + def_num=1, + type=FIELD_TYPES['strava_product'], + ref_fields=( + ReferenceField( + name='manufacturer', + def_num=0, + value='strava', + raw_value=265, + ), + ), + ), ), ), 2: Field( # Corresponds to file_id of scheduled workout / course. diff --git a/tests/files/strava-android-app-201.10-b1218918.fit b/tests/files/strava-android-app-201.10-b1218918.fit new file mode 100644 index 0000000000000000000000000000000000000000..24977c71663f40c8ec8b2326eed9e1713ba1703a GIT binary patch literal 78233 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 literal 0 HcmV?d00001 From 9bd14c4575d7d549d6ec890748931959542ec904 Mon Sep 17 00:00:00 2001 From: Carey Metcalfe Date: Sun, 14 Jan 2024 09:50:09 -0500 Subject: [PATCH 25/27] Fix typo in api docs (#145) * Fix typo in api docs * Fix test that checked warning output --- docs/api.rst | 2 +- tests/test.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/api.rst b/docs/api.rst index 8d64e0f..e5db642 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -76,7 +76,7 @@ The ``FitFile`` Object try: fitfile = FitFile('/path.to/fitfile.fit') fitfile.parse() - except FitParseError, e: + except FitParseError as e: print "Error while parsing .FIT file: %s" % e sys.exit(1) diff --git a/tests/test.py b/tests/test.py index 886f21f..77082fb 100755 --- a/tests/test.py +++ b/tests/test.py @@ -74,6 +74,7 @@ def testfile(filename): class FitFileTestCase(unittest.TestCase): + def test_basic_file_with_one_record(self, endian='<'): f = FitFile(generate_fitfile(endian=endian)) f.parse() @@ -414,7 +415,11 @@ def test_mismatched_field_size(self): with warnings.catch_warnings(record=True) as w: f.parse() assert w - assert all("falling back to byte encoding" in str(x) for x in w) + assert all( + "falling back to byte encoding" in str(x) + for x in w + if x.category == UserWarning + ) self.assertEqual(len(f.messages), 11293) def test_unterminated_file(self): From 0ae62ab46856be418922b6e6cc72e16e7debcf96 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Sun, 19 Jan 2025 17:38:37 -0500 Subject: [PATCH 26/27] License bump. Happy New Year! --- LICENSE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 387b0b0..901fe39 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ MIT License -Copyright (c) 2011-2022, David Cooper -Copyright (c) 2017-2022, Carey Metcalfe +Copyright (c) 2011-2025, David Cooper +Copyright (c) 2017-2025, Carey Metcalfe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 142578c9474d190d2c45e55172d99d41d41d8a27 Mon Sep 17 00:00:00 2001 From: roboes Date: Sat, 25 Jan 2025 16:44:46 +0100 Subject: [PATCH 27/27] Update datetime module as datetime.datetime.utcfromtimestamp() is deprecated --- fitparse/processors.py | 4 ++-- tests/test.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fitparse/processors.py b/fitparse/processors.py index 6848584..34b36ba 100644 --- a/fitparse/processors.py +++ b/fitparse/processors.py @@ -70,7 +70,7 @@ def process_type_bool(self, field_data): def process_type_date_time(self, field_data): value = field_data.value if value is not None and value >= 0x10000000: - field_data.value = datetime.datetime.utcfromtimestamp(UTC_REFERENCE + value) + field_data.value = datetime.datetime.fromtimestamp(timestamp=(UTC_REFERENCE + value), tz=datetime.timezone.utc).replace(tzinfo=None) field_data.units = None # Units were 's', set to None def process_type_local_date_time(self, field_data): @@ -78,7 +78,7 @@ def process_type_local_date_time(self, field_data): # NOTE: This value was created on the device using it's local timezone. # Unless we know that timezone, this value won't be correct. However, if we # assume UTC, at least it'll be consistent. - field_data.value = datetime.datetime.utcfromtimestamp(UTC_REFERENCE + field_data.value) + field_data.value = datetime.datetime.fromtimestamp(timestamp=(UTC_REFERENCE + field_data.value), tz=datetime.timezone.utc).replace(tzinfo=None) field_data.units = None def process_type_localtime_into_day(self, field_data): diff --git a/tests/test.py b/tests/test.py index 77082fb..e4851d5 100755 --- a/tests/test.py +++ b/tests/test.py @@ -66,7 +66,7 @@ def generate_fitfile(data=None, endian='<'): def secs_to_dt(secs): - return datetime.datetime.utcfromtimestamp(secs + UTC_REFERENCE) + return datetime.datetime.fromtimestamp(timestamp=(secs + UTC_REFERENCE), tz=datetime.timezone.utc).replace(tzinfo=None) def testfile(filename):