Feat(SQL, UI): 1. Calc and Get Many Stored Procedures created for Weather, Lighting Level, Assessment, Distraction Type, Distraction Intensity Level, Distraction, Bribe, Assessment Command Modality Link, Response Quality Metric, Obedience Level, and Assessment Response. \n 2. Assessments and Assessment pages created with data loading and hooked up, but not saving.
This commit is contained in:
@@ -13,16 +13,27 @@ Datastore for Users
|
||||
# internal
|
||||
# from routes import bp_home
|
||||
import lib.argument_validation as av
|
||||
from business_objects.dog.assessment import Assessment, Assessment_Temp
|
||||
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link, Assessment_Command_Modality_Link_Temp
|
||||
from business_objects.dog.assessment_response import Assessment_Response, Assessment_Response_Temp
|
||||
from business_objects.dog.bribe import Bribe, Bribe_Temp
|
||||
from business_objects.dog.button_icon import Button_Icon, Button_Icon_Temp
|
||||
from business_objects.dog.button_shape import Button_Shape, Button_Shape_Temp
|
||||
from business_objects.dog.colour import Colour, Colour_Temp
|
||||
from business_objects.dog.command import Command, Command_Temp
|
||||
from business_objects.dog.command_button_link import Command_Button_Link, Command_Button_Link_Temp
|
||||
from business_objects.dog.command_category import Command_Category, Command_Category_Temp
|
||||
from business_objects.dog.command_modality import Command_Modality, Command_Modality_Temp
|
||||
from business_objects.dog.distraction import Distraction, Distraction_Temp
|
||||
from business_objects.dog.distraction_intensity_level import Distraction_Intensity_Level, Distraction_Intensity_Level_Temp
|
||||
from business_objects.dog.distraction_type import Distraction_Type, Distraction_Type_Temp
|
||||
from business_objects.dog.dog import Dog
|
||||
from business_objects.dog.dog_command_link import Dog_Command_Link, Dog_Command_Link_Temp
|
||||
from business_objects.dog.command_button_link import Command_Button_Link, Command_Button_Link_Temp
|
||||
from business_objects.dog.lighting_level import Lighting_Level, Lighting_Level_Temp
|
||||
from business_objects.dog.location import Location, Location_Temp
|
||||
from business_objects.dog.obedience_level import Obedience_Level, Obedience_Level_Temp
|
||||
from business_objects.dog.response_quality_metric import Response_Quality_Metric, Response_Quality_Metric_Temp
|
||||
from business_objects.dog.weather import Weather, Weather_Temp
|
||||
from business_objects.sql_error import SQL_Error
|
||||
from datastores.datastore_base import DataStore_Base
|
||||
from helpers.helper_app import Helper_App
|
||||
@@ -632,3 +643,460 @@ class DataStore_Dog(DataStore_Base):
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
return errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_assessment(cls, filters_assessment):
|
||||
_m = f'{cls.__qualname__}.get_many_assessment'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_assessment.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_assessment', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Assessments
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw assessments: {result_set_1}')
|
||||
assessments = []
|
||||
assessment_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_assessment = Assessment.from_db_assessment(row)
|
||||
assessment_indexes[new_assessment.id_assessment] = len(assessments)
|
||||
assessments.append(new_assessment)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return assessments, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_weather(cls, filters_weather):
|
||||
_m = f'{cls.__qualname__}.get_many_weather'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_weather.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_weather', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Weathers
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw weathers: {result_set_1}')
|
||||
weathers = []
|
||||
weather_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_weather = Weather.from_db_weather(row)
|
||||
weather_indexes[new_weather.id_weather] = len(weathers)
|
||||
weathers.append(new_weather)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return weathers, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_lighting_level(cls, filters_lighting_level):
|
||||
_m = f'{cls.__qualname__}.get_many_lighting_level'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_lighting_level.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_lighting_level', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Lighting_Levels
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw lighting_levels: {result_set_1}')
|
||||
lighting_levels = []
|
||||
lighting_level_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_lighting_level = Lighting_Level.from_db_lighting_level(row)
|
||||
lighting_level_indexes[new_lighting_level.id_lighting_level] = len(lighting_levels)
|
||||
lighting_levels.append(new_lighting_level)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return lighting_levels, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_distraction_type(cls, filters_distraction_type):
|
||||
_m = f'{cls.__qualname__}.get_many_distraction_type'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_distraction_type.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_distraction_type', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Distraction_Types
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw distraction_types: {result_set_1}')
|
||||
distraction_types = []
|
||||
distraction_type_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_distraction_type = Distraction_Type.from_db_distraction_type(row)
|
||||
distraction_type_indexes[new_distraction_type.id_distraction_type] = len(distraction_types)
|
||||
distraction_types.append(new_distraction_type)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return distraction_types, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_distraction_intensity_level(cls, filters_distraction_intensity_level):
|
||||
_m = f'{cls.__qualname__}.get_many_distraction_intensity_level'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_distraction_intensity_level.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_distraction_intensity_level', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Distraction_Intensity_Levels
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw distraction_intensity_levels: {result_set_1}')
|
||||
distraction_intensity_levels = []
|
||||
distraction_intensity_level_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_distraction_intensity_level = Distraction_Intensity_Level.from_db_distraction_intensity_level(row)
|
||||
distraction_intensity_level_indexes[new_distraction_intensity_level.id_intensity_level] = len(distraction_intensity_levels)
|
||||
distraction_intensity_levels.append(new_distraction_intensity_level)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return distraction_intensity_levels, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_distraction(cls, filters_distraction):
|
||||
_m = f'{cls.__qualname__}.get_many_distraction'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_distraction.to_json()
|
||||
, 'a_show_errors': 1
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_distraction', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Distractions
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw distractions: {result_set_1}')
|
||||
distractions = []
|
||||
distraction_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_distraction = Distraction.from_db_distraction(row)
|
||||
distraction_indexes[new_distraction.id_distraction] = len(distractions)
|
||||
distractions.append(new_distraction)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return distractions, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_command_modality(cls, filters_command_modality):
|
||||
_m = f'{cls.__qualname__}.get_many_command_modality'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_command_modality.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_command_modality', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Command_Modalities
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw command_modalities: {result_set_1}')
|
||||
command_modalities = []
|
||||
command_modality_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_command_modality = Command_Modality.from_db_command_modality(row)
|
||||
command_modality_indexes[new_command_modality.id_command_modality] = len(command_modalities)
|
||||
command_modalities.append(new_command_modality)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return command_modalities, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_bribe(cls, filters_bribe):
|
||||
_m = f'{cls.__qualname__}.get_many_bribe'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_bribe.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_bribe', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Bribes
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw bribes: {result_set_1}')
|
||||
bribes = []
|
||||
bribe_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_bribe = Bribe.from_db_bribe(row)
|
||||
bribe_indexes[new_bribe.id_bribe] = len(bribes)
|
||||
bribes.append(new_bribe)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return bribes, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_assessment_command_modality_link(cls, filters_assessment_command_modality_link):
|
||||
_m = f'{cls.__qualname__}.get_many_assessment_command_modality_link'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_assessment_command_modality_link.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_assessment_command_modality_link', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Assessment_Command_Modality_Links
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw assessment_command_modality_links: {result_set_1}')
|
||||
assessment_command_modality_links = []
|
||||
assessment_command_modality_link_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_assessment_command_modality_link = Assessment_Command_Modality_Link.from_db_assessment_command_modality_link(row)
|
||||
assessment_command_modality_link_indexes[new_assessment_command_modality_link.id_link] = len(assessment_command_modality_links)
|
||||
assessment_command_modality_links.append(new_assessment_command_modality_link)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return assessment_command_modality_links, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_response_quality_metric(cls, filters_response_quality_metric):
|
||||
_m = f'{cls.__qualname__}.get_many_response_quality_metric'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_response_quality_metric.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_response_quality_metric', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Command_Modalities
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw command_modalities: {result_set_1}')
|
||||
command_modalities = []
|
||||
response_quality_metric_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_response_quality_metric = Response_Quality_Metric.from_db_response_quality_metric(row)
|
||||
response_quality_metric_indexes[new_response_quality_metric.id_response_quality_metric] = len(command_modalities)
|
||||
command_modalities.append(new_response_quality_metric)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return command_modalities, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_obedience_level(cls, filters_obedience_level):
|
||||
_m = f'{cls.__qualname__}.get_many_obedience_level'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_obedience_level.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_obedience_level', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Command_Modalities
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw command_modalities: {result_set_1}')
|
||||
command_modalities = []
|
||||
obedience_level_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_obedience_level = Obedience_Level.from_db_obedience_level(row)
|
||||
obedience_level_indexes[new_obedience_level.id_obedience_level] = len(command_modalities)
|
||||
command_modalities.append(new_obedience_level)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return command_modalities, errors
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_many_assessment_response(cls, filters_assessment_response):
|
||||
_m = f'{cls.__qualname__}.get_many_assessment_response'
|
||||
user = cls.get_user_session()
|
||||
argument_dict = {
|
||||
'a_id_user': user.id_user
|
||||
, **filters_assessment_response.to_json()
|
||||
, 'a_debug': 0
|
||||
}
|
||||
Helper_App.console_log(f'argument_dict: {argument_dict}')
|
||||
result = cls.db_procedure_execute('p_dog_get_many_assessment_response', argument_dict)
|
||||
cursor = result.cursor
|
||||
|
||||
# Assessment_Responses
|
||||
result_set_1 = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw assessment_responses: {result_set_1}')
|
||||
assessment_responses = []
|
||||
assessment_response_indexes = {}
|
||||
for row in result_set_1:
|
||||
new_assessment_response = Assessment_Response.from_db_assessment_response(row)
|
||||
assessment_response_indexes[new_assessment_response.id_response] = len(assessment_responses)
|
||||
assessment_responses.append(new_assessment_response)
|
||||
|
||||
# Errors
|
||||
cursor.nextset()
|
||||
result_set_e = cursor.fetchall()
|
||||
Helper_App.console_log(f'raw errors: {result_set_e}')
|
||||
errors = []
|
||||
if len(result_set_e) > 0:
|
||||
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
|
||||
for error in errors:
|
||||
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
|
||||
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
return assessment_responses, errors
|
||||
|
||||
@@ -96,7 +96,7 @@ class DataStore_User(DataStore_Base):
|
||||
if len(result_set) > 0:
|
||||
for row in result_set:
|
||||
Helper_App.console_log(f'row: {row}')
|
||||
user = User.from_DB_user(row)
|
||||
user = User.from_db_user(row)
|
||||
users.append(user)
|
||||
Helper_App.console_log(f'user {str(type(user))}: {user}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user