tcgoetz / GarminDB

Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.
GNU General Public License v2.0
1.1k stars 138 forks source link

Fix ConfigManager.default_display_activities() #182

Closed alexis-m closed 1 year ago

alexis-m commented 1 year ago

cls.default_display_activities could not work because the name in the base class was overridden.

Fix #154

Before

(.venv) $ ipython
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0]
IPython 8.13.2 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from garmindb import ConfigManager

In [2]: ConfigManager.default_display_activities()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[2], line 1
----> 1 ConfigManager.default_display_activities()

File ~/coding/GarminDB/garmindb/config_manager.py:268, in
ConfigManager.default_display_activities(cls)
    265 @classmethod
    266 def default_display_activities(cls):
    267     """Return a list of the default activities to display."""
--> 268     return [Sport.strict_from_string(activity) for activity in
cls.default_display_activities]

TypeError: 'method' object is not iterable

After

In [2]: ConfigManager.default_display_activities()
Out[2]: [<Sport.walking: 11>, <Sport.running: 1>, <Sport.cycling: 2>]