def X_get_health_history(request, survey): results = [] cursor = connection.cursor() params = { 'user_id': request.user.id } queries = { 'sqlite':""" SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp""", 'mysql':""" SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp""", 'postgresql':""" SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = %(user_id)s ORDER BY W.timestamp""", } cursor.execute(queries[utils.get_db_type(connection)], params) results = cursor.fetchall() for ret in results: timestamp, global_id, status = ret survey_user = models.SurveyUser.objects.get(global_id=global_id) yield {'global_id': global_id, 'timestamp': timestamp, 'status': status, 'diag':_decode_person_health_status(status), 'survey_user': survey_user}
def _get_health_history(request, survey): results = [] cursor = connection.cursor() params = {"user_id": request.user.id} queries = { "sqlite": """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp""", "mysql": """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp""", "postgresql": """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, pollster_results_weekly W WHERE S.pollster_results_weekly_id = W.id AND W.user = %(user_id)s ORDER BY W.timestamp""", } cursor.execute(queries[utils.get_db_type(connection)], params) results = cursor.fetchall() for ret in results: timestamp, global_id, status = ret yield { "global_id": global_id, "timestamp": timestamp, "status": status, "diag": _decode_person_health_status(status), }
def X_get_person_health_status(request, survey, global_id): logger.debug('_get_person_health_status') # habria que revisar request.user.id data = survey.get_last_participation_data(request.user.id) status = None if data: cursor = connection.cursor() params = { 'weekly_id': data["id"] } queries = { 'sqlite':""" SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", 'mysql':""" SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", 'postgresql':""" SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = %(weekly_id)s""" } cursor.execute(queries[utils.get_db_type(connection)], params) status = cursor.fetchone()[0] return (status, _decode_person_health_status(status))
def _get_person_health_status(request, survey, global_id): data = survey.get_last_participation_data(request.user.id, global_id) status = None if data: cursor = connection.cursor() params = {'weekly_id': data["id"]} queries = { 'sqlite': """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", 'mysql': """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", 'postgresql': """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = %(weekly_id)s""" } cursor.execute(queries[utils.get_db_type(connection)], params) result = cursor.fetchone() status = result[0] if result else None return (status, _decode_person_health_status(status))
def _get_person_is_female(global_id): try: cursor = connection.cursor() queries = { 'sqlite':"""SELECT Q1 FROM pollster_results_intake WHERE global_id = %s""", 'mysql':"""SELECT `Q1` FROM pollster_results_intake WHERE `global_id` = %s""", 'postgresql':"""SELECT "Q1" FROM pollster_results_intake WHERE "global_id" = %s""", } cursor.execute(queries[utils.get_db_type(connection)], [global_id,]) return cursor.fetchone()[0] == 1 # 0 for male, 1 for female except: return None
def _get_person_is_female(global_id, table="pollster_results_intake"): try: cursor = connection.cursor() queries = { 'sqlite': """SELECT Q1 FROM """ + table + """ WHERE global_id = %s""", 'mysql': """SELECT `Q1` FROM """ + table + """ WHERE `global_id` = %s""", 'postgresql': """SELECT "Q1" FROM """ + table + """ WHERE "global_id" = %s""", } cursor.execute(queries[utils.get_db_type(connection)], [ global_id, ]) return cursor.fetchone()[0] == 1 # 0 for male, 1 for female except: return None
def _get_health_history(request, survey, table="pollster_results_weekly"): results = [] cursor = connection.cursor() params = {'user_id': request.user.id} queries = { 'sqlite': """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, """ + table + """ W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp DESC""", 'mysql': """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, """ + table + """ W WHERE S.pollster_results_weekly_id = W.id AND W.user = :user_id ORDER BY W.timestamp DESC""", 'postgresql': """ SELECT W.timestamp, W.global_id, S.status FROM pollster_health_status S, """ + table + """ W WHERE S.pollster_results_weekly_id = W.id AND W.user = %(user_id)s ORDER BY W.timestamp DESC""", } cursor.execute(queries[utils.get_db_type(connection)], params) results = cursor.fetchall() for ret in results: timestamp, global_id, status = ret survey_user = models.SurveyUser.objects.get(global_id=global_id) yield { 'global_id': global_id, 'timestamp': timestamp, 'status': status, 'diag': _decode_person_health_status(status), 'survey_user': survey_user }
def _get_person_health_status(request, survey, global_id): data = survey.get_last_participation_data(request.user.id, global_id) status = None if data: cursor = connection.cursor() params = {"weekly_id": data["id"]} queries = { "sqlite": """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", "mysql": """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = :weekly_id""", "postgresql": """ SELECT S.status FROM pollster_health_status S WHERE S.pollster_results_weekly_id = %(weekly_id)s""", } cursor.execute(queries[utils.get_db_type(connection)], params) status = cursor.fetchone()[0] return (status, _decode_person_health_status(status))