Files
FitTrack2/FitnessSync/scratch/inspect_fitbit_bmi.py
2026-01-09 09:59:36 -08:00

40 lines
1.4 KiB
Python

import os
from src.services.postgresql_manager import PostgreSQLManager
from src.models.weight_record import WeightRecord
from sqlalchemy import func
# Set DB URL
if not os.environ.get('DATABASE_URL'):
os.environ['DATABASE_URL'] = 'postgresql://postgres:password@localhost:5433/fitbit_garmin_sync'
def main():
print("Connecting to DB...")
db = PostgreSQLManager()
with db.get_db_session() as session:
total = session.query(WeightRecord).count()
# null bmi
null_bmi = session.query(WeightRecord).filter(WeightRecord.bmi == None).count()
# zero bmi
zero_bmi = session.query(WeightRecord).filter(WeightRecord.bmi == 0).count()
# valid bmi
valid_bmi = session.query(WeightRecord).filter(WeightRecord.bmi > 0).count()
print(f"Total Records: {total}")
print(f"Null BMI: {null_bmi}")
print(f"Zero BMI: {zero_bmi}")
print(f"Valid BMI: {valid_bmi}")
if valid_bmi > 0:
sample = session.query(WeightRecord).filter(WeightRecord.bmi > 0).first()
print(f"Sample Valid: Date={sample.date}, Weight={sample.weight}, BMI={sample.bmi}")
if null_bmi > 0:
sample = session.query(WeightRecord).filter(WeightRecord.bmi == None).first()
print(f"Sample Null: Date={sample.date}, Weight={sample.weight}, BMI={sample.bmi}")
if __name__ == "__main__":
main()