Add a method to get participant usernames and its test.
parent
b7b60294ba
commit
e6d129c6ee
|
@ -0,0 +1,27 @@
|
||||||
|
import datetime
|
||||||
|
from collections.abc import Collection
|
||||||
|
|
||||||
|
import pandas as pd
|
||||||
|
from sqlalchemy import and_
|
||||||
|
|
||||||
|
from config.models import Participant
|
||||||
|
from setup import db_engine, session
|
||||||
|
|
||||||
|
|
||||||
|
def get_usernames(
|
||||||
|
tester: bool = False,
|
||||||
|
active: bool = False,
|
||||||
|
collection_start: datetime.date = datetime.date.fromisoformat("2020-01-01"),
|
||||||
|
last_upload: datetime.date = datetime.date.today(),
|
||||||
|
) -> Collection:
|
||||||
|
query_participant_usernames = session.query(Participant.username).filter(
|
||||||
|
and_(
|
||||||
|
Participant.tester == tester,
|
||||||
|
Participant.active == active,
|
||||||
|
Participant.collection_start_utc >= collection_start,
|
||||||
|
Participant.last_upload_utc < last_upload,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
with db_engine.connect() as connection:
|
||||||
|
df_participants = pd.read_sql(query_participant_usernames.statement, connection)
|
||||||
|
return df_participants
|
|
@ -0,0 +1,10 @@
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from participants.query_db import get_usernames
|
||||||
|
|
||||||
|
|
||||||
|
class CallsFeatures(unittest.TestCase):
|
||||||
|
def test_get_usernames(self):
|
||||||
|
usernames_from_db = get_usernames()
|
||||||
|
print(usernames_from_db)
|
||||||
|
self.assertIsNotNone(usernames_from_db)
|
Loading…
Reference in New Issue