Mohibullah commited on
Commit
dd7aabb
·
1 Parent(s): c42db2d

Add NoneType safety checks in _confidence_badge to prevent extraction card formatting crash

Browse files
Files changed (1) hide show
  1. gradio_pharmacopilot_demo.py +19 -9
gradio_pharmacopilot_demo.py CHANGED
@@ -1095,20 +1095,30 @@ def medicine_details_html(
1095
  """
1096
 
1097
 
1098
- def _confidence_badge(conf: float) -> str:
1099
  """Return a colored confidence badge."""
1100
- if conf >= 0.85:
1101
- color, bg = "#065f46", "#d1fae5"
1102
- elif conf >= 0.50:
1103
- color, bg = "#92400e", "#fef3c7"
1104
- elif conf > 0:
1105
- color, bg = "#991b1b", "#fee2e2"
1106
- else:
1107
  color, bg = "#6b7280", "#f3f4f6"
1108
- pct = f"{conf * 100:.0f}%"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1109
  return f'<span style="background:{bg};color:{color};padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;">{pct}</span>'
1110
 
1111
 
 
1112
  def _display_value(val: Any) -> str:
1113
  """Format a field value for display."""
1114
  if val is None:
 
1095
  """
1096
 
1097
 
1098
+ def _confidence_badge(conf: float | None) -> str:
1099
  """Return a colored confidence badge."""
1100
+ if conf is None:
 
 
 
 
 
 
1101
  color, bg = "#6b7280", "#f3f4f6"
1102
+ pct = "0%"
1103
+ else:
1104
+ try:
1105
+ conf_val = float(conf)
1106
+ if conf_val >= 0.85:
1107
+ color, bg = "#065f46", "#d1fae5"
1108
+ elif conf_val >= 0.50:
1109
+ color, bg = "#92400e", "#fef3c7"
1110
+ elif conf_val > 0:
1111
+ color, bg = "#991b1b", "#fee2e2"
1112
+ else:
1113
+ color, bg = "#6b7280", "#f3f4f6"
1114
+ pct = f"{conf_val * 100:.0f}%"
1115
+ except (ValueError, TypeError):
1116
+ color, bg = "#6b7280", "#f3f4f6"
1117
+ pct = "0%"
1118
  return f'<span style="background:{bg};color:{color};padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;">{pct}</span>'
1119
 
1120
 
1121
+
1122
  def _display_value(val: Any) -> str:
1123
  """Format a field value for display."""
1124
  if val is None: