Spaces:
Sleeping
Sleeping
Update app/components.py
Browse files- app/components.py +15 -6
app/components.py
CHANGED
|
@@ -18,6 +18,7 @@ import logging
|
|
| 18 |
import uuid
|
| 19 |
from typing import Dict, List, Any, Optional, Tuple, Union
|
| 20 |
from app.m_c_data import DEFAULT_WINDOW_PROPERTIES # Import DEFAULT_WINDOW_PROPERTIES
|
|
|
|
| 21 |
|
| 22 |
# Configure logging
|
| 23 |
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
@@ -152,7 +153,6 @@ def display_component_tab(comp_type: str):
|
|
| 152 |
name = st.text_input(
|
| 153 |
"Name",
|
| 154 |
value=editor_state.get("name", ""),
|
| 155 |
-
|
| 156 |
help="Enter a unique name for this component."
|
| 157 |
)
|
| 158 |
|
|
@@ -347,14 +347,21 @@ def display_component_tab(comp_type: str):
|
|
| 347 |
component_data["parent_component"] = parent_component
|
| 348 |
component_data["function_type"] = function_type
|
| 349 |
component_data["shading_coefficient"] = shading_coefficient
|
| 350 |
-
#
|
| 351 |
if fenestration in available_items:
|
| 352 |
fenestration_data = available_items[fenestration]
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 357 |
else:
|
|
|
|
| 358 |
component_data["shgc"] = 0.7
|
| 359 |
component_data["u_value"] = 5.0
|
| 360 |
component_data["h_o"] = DEFAULT_WINDOW_PROPERTIES["h_o"]
|
|
@@ -429,6 +436,7 @@ def display_wall_window_table(comp_type: str, components: List[Dict[str, Any]]):
|
|
| 429 |
editor_data["fenestration"] = comp.get("fenestration", "")
|
| 430 |
editor_data["parent_component"] = comp.get("parent_component", "")
|
| 431 |
editor_data["shading_coefficient"] = comp.get("shading_coefficient", 1.0)
|
|
|
|
| 432 |
|
| 433 |
st.session_state[f"{comp_type}_editor"] = editor_data
|
| 434 |
st.session_state[f"{comp_type}_action"] = {"action": "edit", "id": str(uuid.uuid4())}
|
|
@@ -493,6 +501,7 @@ def display_roof_skylight_table(comp_type: str, components: List[Dict[str, Any]]
|
|
| 493 |
editor_data["fenestration"] = comp.get("fenestration", "")
|
| 494 |
editor_data["parent_component"] = comp.get("parent_component", "")
|
| 495 |
editor_data["shading_coefficient"] = comp.get("shading_coefficient", 1.0)
|
|
|
|
| 496 |
|
| 497 |
st.session_state[f"{comp_type}_editor"] = editor_data
|
| 498 |
st.session_state[f"{comp_type}_action"] = {"action": "edit", "id": str(uuid.uuid4())}
|
|
|
|
| 18 |
import uuid
|
| 19 |
from typing import Dict, List, Any, Optional, Tuple, Union
|
| 20 |
from app.m_c_data import DEFAULT_WINDOW_PROPERTIES # Import DEFAULT_WINDOW_PROPERTIES
|
| 21 |
+
from app.materials_library import GlazingMaterial # Added import for GlazingMaterial
|
| 22 |
|
| 23 |
# Configure logging
|
| 24 |
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
|
|
| 153 |
name = st.text_input(
|
| 154 |
"Name",
|
| 155 |
value=editor_state.get("name", ""),
|
|
|
|
| 156 |
help="Enter a unique name for this component."
|
| 157 |
)
|
| 158 |
|
|
|
|
| 347 |
component_data["parent_component"] = parent_component
|
| 348 |
component_data["function_type"] = function_type
|
| 349 |
component_data["shading_coefficient"] = shading_coefficient
|
| 350 |
+
# Fix: Handle both GlazingMaterial and dictionary for fenestration_data
|
| 351 |
if fenestration in available_items:
|
| 352 |
fenestration_data = available_items[fenestration]
|
| 353 |
+
if isinstance(fenestration_data, GlazingMaterial):
|
| 354 |
+
component_data["shgc"] = fenestration_data.shgc
|
| 355 |
+
component_data["u_value"] = fenestration_data.u_value
|
| 356 |
+
component_data["h_o"] = fenestration_data.h_o or DEFAULT_WINDOW_PROPERTIES["h_o"]
|
| 357 |
+
component_data["visible_transmittance"] = fenestration_data.visible_transmittance
|
| 358 |
+
else:
|
| 359 |
+
component_data["shgc"] = fenestration_data.get("shgc", 0.7)
|
| 360 |
+
component_data["u_value"] = fenestration_data.get("u_value", 5.0)
|
| 361 |
+
component_data["h_o"] = fenestration_data.get("h_o", DEFAULT_WINDOW_PROPERTIES["h_o"])
|
| 362 |
+
component_data["visible_transmittance"] = fenestration_data.get("visible_transmittance", 0.7)
|
| 363 |
else:
|
| 364 |
+
logger.warning(f"Fenestration '{fenestration}' not found for {name}. Using defaults.")
|
| 365 |
component_data["shgc"] = 0.7
|
| 366 |
component_data["u_value"] = 5.0
|
| 367 |
component_data["h_o"] = DEFAULT_WINDOW_PROPERTIES["h_o"]
|
|
|
|
| 436 |
editor_data["fenestration"] = comp.get("fenestration", "")
|
| 437 |
editor_data["parent_component"] = comp.get("parent_component", "")
|
| 438 |
editor_data["shading_coefficient"] = comp.get("shading_coefficient", 1.0)
|
| 439 |
+
editor_data["function_type"] = comp.get("function_type", "Fixed")
|
| 440 |
|
| 441 |
st.session_state[f"{comp_type}_editor"] = editor_data
|
| 442 |
st.session_state[f"{comp_type}_action"] = {"action": "edit", "id": str(uuid.uuid4())}
|
|
|
|
| 501 |
editor_data["fenestration"] = comp.get("fenestration", "")
|
| 502 |
editor_data["parent_component"] = comp.get("parent_component", "")
|
| 503 |
editor_data["shading_coefficient"] = comp.get("shading_coefficient", 1.0)
|
| 504 |
+
editor_data["function_type"] = comp.get("function_type", "Fixed")
|
| 505 |
|
| 506 |
st.session_state[f"{comp_type}_editor"] = editor_data
|
| 507 |
st.session_state[f"{comp_type}_action"] = {"action": "edit", "id": str(uuid.uuid4())}
|