Feat: Architecture redesign for Assessments, Commands, Modalities, Training Techniques, Reinforcement Schedules, Distractions, and Assessment Responses.

This commit is contained in:
2025-09-06 12:13:16 +01:00
parent 12f5fc994f
commit 2da465935d
158 changed files with 14781 additions and 3477 deletions

View File

@@ -20,9 +20,12 @@ Base data model for views
from business_objects.base import Base
from business_objects.file_type import File_Type
from business_objects.dog.assessment import Assessment
from business_objects.dog.assessment_command_link import Assessment_Command_Link
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link
from business_objects.dog.assessment_command_technique_link import Assessment_Command_Technique_Link
from business_objects.dog.assessment_response import Assessment_Response
from business_objects.dog.bribe import Bribe
from business_objects.dog.assessment_type import Assessment_Type
# from business_objects.dog.bribe import Bribe
from business_objects.dog.button_icon import Button_Icon
from business_objects.dog.button_shape import Button_Shape
from business_objects.dog.calendar_entry import Calendar_Entry
@@ -42,8 +45,10 @@ from business_objects.dog.image import Image
from business_objects.dog.lighting_level import Lighting_Level
from business_objects.dog.location import Location
from business_objects.dog.obedience_level import Obedience_Level
from business_objects.dog.reinforcement_schedule import Reinforcement_Schedule
from business_objects.dog.response_quality_metric import Response_Quality_Metric
from business_objects.dog.role import Role
from business_objects.dog.training_technique import Training_Technique
from business_objects.dog.user import User
from business_objects.dog.weather import Weather
from datastores.datastore_base import DataStore_Base
@@ -61,9 +66,12 @@ from typing import ClassVar
class Model_View_Base(BaseModel, ABC):
ATTR_ID_ASSESSMENT: ClassVar[str] = Assessment.ATTR_ID_ASSESSMENT
ATTR_ID_ASSESSMENT_COMMAND_LINK: ClassVar[str] = Assessment_Command_Link.ATTR_ID_ASSESSMENT_COMMAND_LINK
ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK
ATTR_ID_ASSESSMENT_COMMAND_TECHNIQUE_LINK: ClassVar[str] = Assessment_Command_Technique_Link.ATTR_ID_ASSESSMENT_COMMAND_TECHNIQUE_LINK
ATTR_ID_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE
ATTR_ID_BRIBE: ClassVar[str] = Bribe.ATTR_ID_BRIBE
ATTR_ID_ASSESSMENT_TYPE: ClassVar[str] = Assessment_Type.ATTR_ID_ASSESSMENT_TYPE
# ATTR_ID_BRIBE: ClassVar[str] = Bribe.ATTR_ID_BRIBE
ATTR_ID_BUTTON_ICON: ClassVar[str] = Button_Icon.ATTR_ID_BUTTON_ICON
ATTR_ID_BUTTON_SHAPE: ClassVar[str] = Button_Shape.ATTR_ID_BUTTON_SHAPE
ATTR_ID_CALENDAR_ENTRY: ClassVar[str] = Calendar_Entry.ATTR_ID_CALENDAR_ENTRY
@@ -84,8 +92,10 @@ class Model_View_Base(BaseModel, ABC):
ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL
ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION
ATTR_ID_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL
ATTR_ID_REINFORCEMENT_SCHEDULE: ClassVar[str] = Reinforcement_Schedule.ATTR_ID_REINFORCEMENT_SCHEDULE
ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC
ATTR_ID_ROLE: ClassVar[str] = Role.ATTR_ID_ROLE
ATTR_ID_TRAINING_TECHNIQUE: ClassVar[str] = Training_Technique.ATTR_ID_TRAINING_TECHNIQUE
ATTR_ID_USER: ClassVar[str] = User.ATTR_ID_USER
ATTR_ID_USER_AUTH0: ClassVar[str] = User.ATTR_ID_USER_AUTH0
ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER
@@ -127,12 +137,15 @@ class Model_View_Base(BaseModel, ABC):
# FLAG_ADD_DELETE: ClassVar[str] = 'add-delete'
FLAG_APPEARANCE: ClassVar[str] = Dog.FLAG_APPEARANCE
FLAG_ASSESSMENT: ClassVar[str] = Assessment.FLAG_ASSESSMENT
FLAG_ASSESSMENT_COMMAND_LINK: ClassVar[str] = Assessment_Command_Link.FLAG_ASSESSMENT_COMMAND_LINK
FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK
FLAG_ASSESSMENT_COMMAND_TECHNIQUE_LINK: ClassVar[str] = Assessment_Command_Technique_Link.FLAG_ASSESSMENT_COMMAND_TECHNIQUE_LINK
FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = Assessment_Response.FLAG_ASSESSMENT_RESPONSE
FLAG_ASSESSMENT_TYPE: ClassVar[str] = Assessment_Type.FLAG_ASSESSMENT_TYPE
FLAG_BENEFITS: ClassVar[str] = 'benefits'
FLAG_BOOL_FALSE: ClassVar[str] = 'false'
FLAG_BOOL_TRUE: ClassVar[str] = 'true'
FLAG_BRIBE: ClassVar[str] = Bribe.FLAG_BRIBE
# FLAG_BRIBE: ClassVar[str] = Bribe.FLAG_BRIBE
FLAG_BUTTON: ClassVar[str] = 'button'
FLAG_BUTTON_ICON: ClassVar[str] = Button_Icon.FLAG_BUTTON_ICON
FLAG_BUTTON_LIGHT: ClassVar[str] = 'button-light'
@@ -183,6 +196,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_DOG_COMMAND_LINK: ClassVar[str] = Dog_Command_Link.FLAG_DOG_COMMAND_LINK
FLAG_EDIT: ClassVar[str] = 'edit'
FLAG_EMAIL: ClassVar[str] = Base.FLAG_EMAIL
FLAG_END_ON: ClassVar[str] = Base.FLAG_END_ON
FLAG_ERROR: ClassVar[str] = 'error'
FLAG_EXPANDED: ClassVar[str] = 'expanded'
FLAG_FAILURE: ClassVar[str] = 'failure'
@@ -248,6 +262,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_PRICE: ClassVar[str] = Base.FLAG_PRICE
FLAG_PRICING: ClassVar[str] = 'pricing'
FLAG_QUANTITY: ClassVar[str] = 'quantity'
FLAG_REINFORCEMENT_SCHEDULE: ClassVar[str] = Reinforcement_Schedule.FLAG_REINFORCEMENT_SCHEDULE
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.FLAG_RESPONSE_QUALITY_METRIC
FLAG_RIGHT_HAND_SIDE: ClassVar[str] = 'rhs'
FLAG_ROLE: ClassVar[str] = Role.FLAG_ROLE
@@ -258,6 +273,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_SCROLLABLE: ClassVar[str] = 'scrollable'
FLAG_SEARCH: ClassVar[str] = Base.FLAG_SEARCH
FLAG_SLIDER: ClassVar[str] = 'slider'
FLAG_START_ON: ClassVar[str] = Base.FLAG_START_ON
FLAG_STATUS: ClassVar[str] = 'status'
FLAG_SUBMIT: ClassVar[str] = 'submit'
FLAG_SUCCESS: ClassVar[str] = 'success'
@@ -265,6 +281,7 @@ class Model_View_Base(BaseModel, ABC):
FLAG_TABLE_MAIN: ClassVar[str] = 'table-main'
FLAG_TEMPORARY_ELEMENT: ClassVar[str] = 'temporary-element'
FLAG_TESTIMONIAL: ClassVar[str] = 'testimonial'
FLAG_TRAINING_TECHNIQUE: ClassVar[str] = Training_Technique.FLAG_TRAINING_TECHNIQUE
FLAG_USER: ClassVar[str] = User.FLAG_USER
# FLAG_VALUE_PROPOSITION: ClassVar[str] = 'value-proposition'
FLAG_WEATHER: ClassVar[str] = Weather.FLAG_WEATHER