Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
"""
|
| 2 |
🚀 ARF Ultimate Investor Demo v3.8.0 - ENTERPRISE EDITION
|
| 3 |
MODULAR VERSION - Properly integrated with all components
|
|
|
|
| 4 |
"""
|
| 5 |
|
| 6 |
import logging
|
|
@@ -29,7 +30,7 @@ logger = logging.getLogger(__name__)
|
|
| 29 |
sys.path.insert(0, str(Path(__file__).parent))
|
| 30 |
|
| 31 |
# ===========================================
|
| 32 |
-
# IMPORT MODULAR COMPONENTS
|
| 33 |
# ===========================================
|
| 34 |
try:
|
| 35 |
# Import scenarios
|
|
@@ -38,8 +39,8 @@ try:
|
|
| 38 |
# Import orchestrator
|
| 39 |
from demo.orchestrator import DemoOrchestrator
|
| 40 |
|
| 41 |
-
# Import ROI calculator
|
| 42 |
-
from core.calculators import
|
| 43 |
|
| 44 |
# Import visualizations
|
| 45 |
from core.visualizations import EnhancedVisualizationEngine
|
|
@@ -104,6 +105,21 @@ class AuditTrailManager:
|
|
| 104 |
for e in self.incidents[:15]
|
| 105 |
]
|
| 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
# ===========================================
|
| 108 |
# CREATE DEMO INTERFACE - MODULAR VERSION
|
| 109 |
# ===========================================
|
|
@@ -112,9 +128,9 @@ def create_demo_interface():
|
|
| 112 |
|
| 113 |
import gradio as gr
|
| 114 |
|
| 115 |
-
# Initialize components
|
| 116 |
viz_engine = EnhancedVisualizationEngine()
|
| 117 |
-
roi_calculator =
|
| 118 |
audit_manager = AuditTrailManager()
|
| 119 |
orchestrator = DemoOrchestrator()
|
| 120 |
|
|
@@ -283,15 +299,20 @@ def create_demo_interface():
|
|
| 283 |
outputs=[approval_display, enterprise_results_display, execution_table]
|
| 284 |
)
|
| 285 |
|
| 286 |
-
# Calculate ROI
|
| 287 |
def calculate_roi(scenario_name, monthly_incidents, team_size):
|
| 288 |
-
#
|
| 289 |
-
|
| 290 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 291 |
)
|
| 292 |
|
| 293 |
-
# Create chart
|
| 294 |
-
chart =
|
| 295 |
|
| 296 |
return roi_result, chart
|
| 297 |
|
|
|
|
| 1 |
"""
|
| 2 |
🚀 ARF Ultimate Investor Demo v3.8.0 - ENTERPRISE EDITION
|
| 3 |
MODULAR VERSION - Properly integrated with all components
|
| 4 |
+
FIXED VERSION: Import and method call fixes applied
|
| 5 |
"""
|
| 6 |
|
| 7 |
import logging
|
|
|
|
| 30 |
sys.path.insert(0, str(Path(__file__).parent))
|
| 31 |
|
| 32 |
# ===========================================
|
| 33 |
+
# IMPORT MODULAR COMPONENTS - FIXED IMPORTS
|
| 34 |
# ===========================================
|
| 35 |
try:
|
| 36 |
# Import scenarios
|
|
|
|
| 39 |
# Import orchestrator
|
| 40 |
from demo.orchestrator import DemoOrchestrator
|
| 41 |
|
| 42 |
+
# Import ROI calculator - FIXED: Use EnhancedROICalculator instead of ROI_Calculator
|
| 43 |
+
from core.calculators import EnhancedROICalculator
|
| 44 |
|
| 45 |
# Import visualizations
|
| 46 |
from core.visualizations import EnhancedVisualizationEngine
|
|
|
|
| 105 |
for e in self.incidents[:15]
|
| 106 |
]
|
| 107 |
|
| 108 |
+
# ===========================================
|
| 109 |
+
# SCENARIO IMPACT MAPPING
|
| 110 |
+
# ===========================================
|
| 111 |
+
def get_scenario_impact(scenario_name: str) -> float:
|
| 112 |
+
"""Get average impact for a given scenario"""
|
| 113 |
+
impact_map = {
|
| 114 |
+
"Cache Miss Storm": 8500,
|
| 115 |
+
"Database Connection Pool Exhaustion": 4200,
|
| 116 |
+
"Kubernetes Memory Leak": 5500,
|
| 117 |
+
"API Rate Limit Storm": 3800,
|
| 118 |
+
"Network Partition": 12000,
|
| 119 |
+
"Storage I/O Saturation": 6800
|
| 120 |
+
}
|
| 121 |
+
return impact_map.get(scenario_name, 5000)
|
| 122 |
+
|
| 123 |
# ===========================================
|
| 124 |
# CREATE DEMO INTERFACE - MODULAR VERSION
|
| 125 |
# ===========================================
|
|
|
|
| 128 |
|
| 129 |
import gradio as gr
|
| 130 |
|
| 131 |
+
# Initialize components - FIXED: Use EnhancedROICalculator
|
| 132 |
viz_engine = EnhancedVisualizationEngine()
|
| 133 |
+
roi_calculator = EnhancedROICalculator()
|
| 134 |
audit_manager = AuditTrailManager()
|
| 135 |
orchestrator = DemoOrchestrator()
|
| 136 |
|
|
|
|
| 299 |
outputs=[approval_display, enterprise_results_display, execution_table]
|
| 300 |
)
|
| 301 |
|
| 302 |
+
# Calculate ROI - FIXED: Use correct method from EnhancedROICalculator
|
| 303 |
def calculate_roi(scenario_name, monthly_incidents, team_size):
|
| 304 |
+
# Get scenario-specific impact
|
| 305 |
+
avg_impact = get_scenario_impact(scenario_name)
|
| 306 |
+
|
| 307 |
+
# Use the correct method from EnhancedROICalculator
|
| 308 |
+
roi_result = roi_calculator.calculate_comprehensive_roi(
|
| 309 |
+
monthly_incidents=int(monthly_incidents),
|
| 310 |
+
avg_impact=avg_impact,
|
| 311 |
+
team_size=int(team_size)
|
| 312 |
)
|
| 313 |
|
| 314 |
+
# Create chart using visualization engine
|
| 315 |
+
chart = viz_engine.create_executive_dashboard(roi_result)
|
| 316 |
|
| 317 |
return roi_result, chart
|
| 318 |
|