Spiritual_Health_Project / app_config.py
DocUA's picture
feat: remove Standard Verification mode and integrate functionality into Enhanced Verification
96bfe42
# app_config.py
"""
Application Configuration for Medical Assistant with Spiritual Support.
This configuration file contains settings for the Gradio application,
including theme settings, verification modes, and feature flags.
Requirements: 1.3, 6.1
"""
# Gradio UI Configuration
GRADIO_CONFIG = {
"theme": "soft",
"show_api": False,
"title": "Medical Assistant with Spiritual Support",
"analytics_enabled": False,
}
# Enhanced Verification Modes Configuration
ENHANCED_VERIFICATION_CONFIG = {
# Enable/disable enhanced verification modes
"enabled": True,
# Default mode when entering enhanced verification
"default_mode": None, # None = show mode selection, or "enhanced_dataset", "manual_input", "file_upload"
# Session management settings
"session": {
"auto_save_interval_seconds": 30,
"max_incomplete_sessions": 10,
"session_timeout_hours": 24,
},
# File upload settings
"file_upload": {
"max_file_size_mb": 50,
"allowed_extensions": [".csv", ".xlsx", ".xls"],
"max_rows_per_file": 10000,
"preview_rows": 5,
},
# Export settings
"export": {
"default_format": "csv",
"available_formats": ["csv", "xlsx", "json"],
"include_timestamps": True,
"include_session_metadata": True,
},
# Dataset editing settings
"dataset_editing": {
"require_confirmation_on_delete": True,
"auto_backup_on_edit": True,
"max_backup_versions": 5,
},
# Progress tracking settings
"progress_tracking": {
"show_accuracy_percentage": True,
"show_processing_speed": True,
"show_time_estimates": True,
},
}
# Standard Verification Mode Configuration
# NOTE: Standard Verification is now disabled as its functionality
# has been integrated into Enhanced Verification modes
STANDARD_VERIFICATION_CONFIG = {
"enabled": False, # Disabled - functionality moved to Enhanced Verification
"show_chaplain_feedback": True,
"auto_save_results": True,
}
# Feature Flags
FEATURE_FLAGS = {
# Enhanced verification modes
"enhanced_verification_enabled": True,
"manual_input_mode_enabled": True,
"file_upload_mode_enabled": True,
"dataset_editing_enabled": True,
# Standard verification - DISABLED (functionality moved to Enhanced Verification)
"standard_verification_enabled": False,
"chaplain_feedback_enabled": True,
# Navigation features
"show_mode_navigation_hints": False, # No need for hints since Standard is disabled
"show_incomplete_session_prompts": True,
# Export features
"csv_export_enabled": True,
"xlsx_export_enabled": True,
"json_export_enabled": True,
}
# Logging Configuration
LOGGING_CONFIG = {
"log_level": "INFO",
"log_verification_actions": True,
"log_mode_switches": True,
"log_export_operations": True,
}
def get_config(section: str = None):
"""
Get configuration settings.
Args:
section: Optional section name to retrieve specific config
Returns:
Configuration dictionary or specific section
"""
all_config = {
"gradio": GRADIO_CONFIG,
"enhanced_verification": ENHANCED_VERIFICATION_CONFIG,
"standard_verification": STANDARD_VERIFICATION_CONFIG,
"feature_flags": FEATURE_FLAGS,
"logging": LOGGING_CONFIG,
}
if section:
return all_config.get(section, {})
return all_config
def is_feature_enabled(feature_name: str) -> bool:
"""
Check if a feature is enabled.
Args:
feature_name: Name of the feature flag
Returns:
True if feature is enabled, False otherwise
"""
return FEATURE_FLAGS.get(feature_name, False)