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")