Comments (8)
First, a couple of your packages are Python 3 packages. GarminDB is a Python 2 app still.
Second, it seems that you have an activity with no name, which is not something I expected. I am adding code to handle that.
from garmindb.
Is this working for you now?
from garmindb.
Python packages installed. Building database throws several non-critical warnings but continues:
Processing daily FIT data
0% (1 of 1049) | | Elapsed Time: 0:00:06 ETA: 1:57:35U
Unrecognized device: {'product': <GarminProduct.Bluetooth_Low_Energy_Chipset: 0>, 'sensor_id': None, 'cum_operating_time': None, 'software_version': '0.00', 'timestamp': datetime.datetime(2016, 6, 7, 12, 6, 4), 'battery_voltage': None, 'ant_related': None, 'hardware_version': None, 'unknown_8': None, 'unknown_9': None, 'source_type': <SourceType.local: 5>, 'device_index': 4, 'battery_status': <BatteryStatus.invalid: 255>, 'ant_network': <AntNetwork.invalid: 255>, 'serial_number': None, 'device_type': 7, 'unknown_16': None, 'manufacturer': <Manufacturer.Garmin_local: 0>} - 'int' object has no attribute 'value'
Then it fails with what looks like an issue with sqlalchemy:
Traceback (most recent call last):
File "garmin.py", line 344, in
main(sys.argv[1:])
File "garmin.py", line 337, in main
import_data(debug, test, latest, weight, monitoring, sleep, rhr, activities)
File "garmin.py", line 162, in import_data
gfd.process_files(db_params_dict)
File "/home/mpc/GarminDB/import_garmin.py", line 91, in process_files
fp.write_file(Fit.file.File(file_name, self.measurement_system))
File "/home/mpc/GarminDB/fit_file_processor.py", line 85, in write_file
self.__write_message_types(fit_file, fit_file.message_types())
File "/home/mpc/GarminDB/fit_file_processor.py", line 73, in __write_message_types
self.__write_message_type(fit_file, message_type)
File "/home/mpc/GarminDB/fit_file_processor.py", line 59, in __write_message_type
function(fit_file, message_type, messages)
File "/home/mpc/GarminDB/fit_file_processor.py", line 48, in __write_generic
function(fit_file, message_dict)
File "/home/mpc/GarminDB/fit_file_processor.py", line 259, in _write_session_entry
current = GarminDB.Activities.get(self.garmin_act_db, activity_id)
File "/home/mpc/GarminDB/GarminDB/activities_db.py", line 138, in get
return cls.find_one(db, {'activity_id' : activity_id})
File "/home/mpc/GarminDB/HealthDB/db.py", line 252, in find_one
return cls._find_one(session, values_dict)
File "/home/mpc/GarminDB/HealthDB/db.py", line 246, in _find_one
return cls._find_query(session, values_dict).one_or_none()
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 3261, in one_or_none
ret = list(self)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 3334, in iter
return self._execute_and_instances(context)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 3359, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 988, in execute
return meth(self, multiparams, params)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
distilled_params,
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1253, in _execute_context
e, statement, parameters, cursor, context
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1473, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1249, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
[SQL: SELECT activities.start_lat AS activities_start_lat, activities.start_long AS activities_start_long, activities.stop_lat AS activities_stop_lat, activities.stop_long AS activities_stop_long, activities.activity_id AS activities_activity_id, activities.name AS activities_name, activities.description AS activities_description, activities.type AS activities_type, activities.course_id AS activities_course_id, activities.start_time AS activities_start_time, activities.stop_time AS activities_stop_time, activities.elapsed_time AS activities_elapsed_time, activities.moving_time AS activities_moving_time, activities.sport AS activities_sport, activities.sub_sport AS activities_sub_sport, activities.distance AS activities_distance, activities.cycles AS activities_cycles, activities.laps AS activities_laps, activities.avg_hr AS activities_avg_hr, activities.max_hr AS activities_max_hr, activities.calories AS activities_calories, activities.avg_cadence AS activities_avg_cadence, activities.max_cadence AS activities_max_cadence, activities.avg_speed AS activities_avg_speed, activities.max_speed AS activities_max_speed, activities.ascent AS activities_ascent, activities.descent AS activities_descent, activities.max_temperature AS activities_max_temperature, activities.min_temperature AS activities_min_temperature, activities.avg_temperature AS activities_avg_temperature, activities.training_effect AS activities_training_effect, activities.anaerobic_training_effect AS activities_anaerobic_training_effect
FROM activities
WHERE activities.activity_id = ?]
[parameters: ('1289128845',)]
(Background on this error at: http://sqlalche.me/e/e3q8)
Makefile:125: recipe for target 'garmin' failed
make: *** [garmin] Error 1
Thanks for the effort.
from garmindb.
Can you share (Dropbox, etc) the FIT file it died on? You should be able to find the file in garmin.log.
from garmindb.
https://www.dropbox.com/sh/k7rvxedrxng77w3/AAD8IWaa3itbYszdX2HmLR9na?dl=0
from garmindb.
One interesting thing si that 1289128845.fit is an activity file with training data. I have not expected to find such a file in the monitoring data previously. Looking into it.
from garmindb.
This is a duplicate of Issue #33.
from garmindb.
Please confirm the fix in release 1.0.7.
from garmindb.
Related Issues (20)
- trouble to run garmindb_cli HOT 5
- Yearly summaries for non-monitoring years HOT 4
- Long Term Progression in Swim/Run Times HOT 2
- GarminConnectConfig.json not found HOT 7
- No sleep data in database HOT 10
- Getting time for each length in swimming HOT 5
- Raspberry pi installation problems HOT 2
- Class field `default_display_activities` is overridden to be a class method which then references itself HOT 2
- Location of the most detailed HR data from Activities
- Activities analyze gives TypeError HOT 11
- Failed to login problem HOT 4
- Password escaping issue HOT 4
- `bash` path doesn't work on macOS HOT 2
- sqlalchemy.exc.ArgumentError: Textual SQL expression 'CREATE VIEW IF NOT EXISTS...' should be explicitly declared as text('CREATE VIEW IF NOT EXISTS...') HOT 7
- Can't login when installing via Source HOT 2
- No module named 'PyInstaller.__main__' HOT 2
- [Question]Run commands/analysis on already downloaded activities.csv file from Garmin Connect HOT 1
- Error: No module named 'numpy.core._multiarray_umath' HOT 1
- no name value in field 'activities.name' if subsport is cardio HOT 4
- Cannot use garmindb_cli.py HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from garmindb.