Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Dec 17, 2024
1 parent d44868f commit 36681b3
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 28 deletions.
32 changes: 14 additions & 18 deletions mondey_backend/src/mondey_backend/routers/statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,14 +164,14 @@ def _get_statistics_by_age(

for answer in answers:
age = child_ages[answer.answer_session_id] # type: ignore
print(' answer: ', answer)
print(' age: ', age)
print(" answer: ", answer)
print(" age: ", age)
new_count, new_avg, new_m2 = _add_sample(
count[age], avg[age], m2[age], answer.answer + 1
)
print(' new_count: ', new_count)
print(' new_avg: ', new_avg)
print(' new_m2: ', new_m2)
print(" new_count: ", new_count)
print(" new_avg: ", new_avg)
print(" new_m2: ", new_m2)
count[age] = new_count
avg[age] = new_avg
m2[age] = new_m2
Expand Down Expand Up @@ -209,9 +209,7 @@ def calculate_milestone_statistics_by_age(

# initialize avg and stddev scores with the last known statistics or to None if no statistics are available
child_ages = _get_answer_session_child_ages_in_months(session)
expiration_date = datetime.datetime.now() - relativedelta(
days=session_expired_days
)
expiration_date = datetime.datetime.now() - relativedelta(days=session_expired_days)

count = None
avg_scores = None
Expand Down Expand Up @@ -313,22 +311,20 @@ def calculate_milestonegroup_statistics_by_age(

# get the newest statistics for the milestonegroup
last_statistics = session.get(MilestoneGroupAgeScoreCollection, milestonegroup_id)
print(' last_statistics', last_statistics)
for i, s in enumerate(last_statistics.scores):
print(' score: ', i, s.count, s.avg_score, s.stddev_score)
print(" last_statistics", last_statistics)
for i, s in enumerate(last_statistics.scores):
print(" score: ", i, s.count, s.avg_score, s.stddev_score)

child_ages = _get_answer_session_child_ages_in_months(session)
expiration_date = datetime.datetime.now() - relativedelta(
days=session_expired_days
)
print(' expiration_date: ', expiration_date)
expiration_date = datetime.datetime.now() - relativedelta(days=session_expired_days)
print(" expiration_date: ", expiration_date)
count = None
avg_scores = None
stddev_scores = None

# we have 2 kinds of querys that need to be executed depending on the existence of a statistics object
if last_statistics is None:
print(' no existing statistics')
print(" no existing statistics")
# no statistics exists yet -> all answers from expired sessions are relevant
answer_query = (
select(MilestoneAnswer)
Expand All @@ -343,7 +339,7 @@ def calculate_milestonegroup_statistics_by_age(
)
)
else:
print(' existing statistics')
print(" existing statistics")
# initialize avg and stddev scores with the last known statistics
count = np.array(
[score.count for score in last_statistics.scores], dtype=np.int32
Expand Down Expand Up @@ -373,7 +369,7 @@ def calculate_milestonegroup_statistics_by_age(
)

answers = session.exec(answer_query).all()
print(' answers: ', answers)
print(" answers: ", answers)

if len(answers) == 0:
# return last statistics if no new answers are available, because that is the best we can do then.
Expand Down
17 changes: 9 additions & 8 deletions mondey_backend/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
from dateutil.relativedelta import relativedelta
from fastapi import FastAPI
from fastapi.testclient import TestClient
from PIL import Image
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.ext.asyncio import async_sessionmaker
from sqlalchemy.ext.asyncio import create_async_engine
from sqlmodel import Session
from sqlmodel import SQLModel
from sqlmodel import create_engine
from sqlmodel.pool import StaticPool

from mondey_backend import settings
from mondey_backend.databases.users import get_async_session
from mondey_backend.dependencies import current_active_researcher
Expand Down Expand Up @@ -39,14 +48,6 @@
from mondey_backend.models.users import Base
from mondey_backend.models.users import User
from mondey_backend.models.users import UserRead
from PIL import Image
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.ext.asyncio import async_sessionmaker
from sqlalchemy.ext.asyncio import create_async_engine
from sqlmodel import Session
from sqlmodel import SQLModel
from sqlmodel import create_engine
from sqlmodel.pool import StaticPool


@pytest.fixture()
Expand Down
5 changes: 3 additions & 2 deletions mondey_backend/tests/utils/test_statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

import numpy as np
import pytest
from sqlmodel import select

from mondey_backend.models.milestones import MilestoneAnswer
from mondey_backend.models.milestones import MilestoneGroup
from mondey_backend.routers.statistics import _add_sample
from mondey_backend.routers.statistics import _finalize_statistics
from mondey_backend.routers.statistics import _get_statistics_by_age
from mondey_backend.routers.statistics import calculate_milestone_statistics_by_age
from mondey_backend.routers.statistics import calculate_milestonegroup_statistics_by_age
from sqlmodel import select


def test_online_statistics_computation():
Expand Down Expand Up @@ -241,7 +242,7 @@ def test_calculate_milestonegroup_statistics(statistics_session):
milestone_group.id,
)

print('milestonegroup id ', score.milestone_group_id)
print("milestonegroup id ", score.milestone_group_id)
for i, s in enumerate(score.scores):
print(i, s.count, s.avg_score, s.stddev_score)

Expand Down

0 comments on commit 36681b3

Please sign in to comment.