added segments
This commit is contained in:
39
FitnessSync/scratch/inspect_fit_fields.py
Normal file
39
FitnessSync/scratch/inspect_fit_fields.py
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
import sys
|
||||
import os
|
||||
import io
|
||||
import fitdecode
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
# Add backend to path
|
||||
sys.path.append(os.path.join(os.getcwd(), 'backend'))
|
||||
|
||||
from src.models.activity import Activity
|
||||
from src.utils.config import config
|
||||
|
||||
# Setup DB
|
||||
engine = create_engine(config.DATABASE_URL)
|
||||
Session = sessionmaker(bind=engine)
|
||||
db = Session()
|
||||
|
||||
def inspect_activity(garmin_activity_id):
|
||||
activity = db.query(Activity).filter(Activity.garmin_activity_id == garmin_activity_id).first()
|
||||
if not activity:
|
||||
print("Activity not found")
|
||||
return
|
||||
|
||||
content = activity.file_content
|
||||
print(f"File Size: {len(content)} bytes")
|
||||
|
||||
with io.BytesIO(content) as f:
|
||||
with fitdecode.FitReader(f) as fit:
|
||||
for frame in fit:
|
||||
if frame.frame_type == fitdecode.FIT_FRAME_DATA and frame.name == 'record':
|
||||
print("First Record Fields:")
|
||||
for field in frame.fields:
|
||||
print(f" - {field.name}: {field.value} (units: {field.units})")
|
||||
break
|
||||
|
||||
if __name__ == "__main__":
|
||||
inspect_activity("21249259141")
|
||||
Reference in New Issue
Block a user