← back to Designer Wallcoverings
auto-save: 2026-06-23T18:23:51 (2 files) — DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py vendor-scrapers/china-seas-refresh
04106ead8baedb10560026341fa914fe9c2f4ef7 · 2026-06-23 18:24:11 -0700 · Steve Abrams
Files touched
M DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
Diff
commit 04106ead8baedb10560026341fa914fe9c2f4ef7
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Jun 23 18:24:11 2026 -0700
auto-save: 2026-06-23T18:23:51 (2 files) — DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py vendor-scrapers/china-seas-refresh
---
.../build-vendor-inquiry-pages.py | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py b/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
index b77adf9c..abbb840b 100644
--- a/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
+++ b/DW-Agents/vendor-command-center/build-vendor-inquiry-pages.py
@@ -235,13 +235,31 @@ def fetch_6_products(vendor_patterns):
return []
+def _is_scorer_error(text):
+ """website-scorer.js emits diagnostic 'summary' strings on fetch failure
+ ('Website unreachable: <err>', 'HTTP <code> error'). These are NOT vendor
+ copy and must NEVER be published to a live page — treat them as missing
+ about_text so the clean fallback paragraph fires instead.
+ (Root-cause fix for the 30 'Website unreachable' page leaks swept 2026-06-23.)"""
+ if not text:
+ return True
+ t = text.strip()
+ if t.startswith('Website unreachable:'):
+ return True
+ if t.startswith('HTTP '):
+ head = t[5:].split(' ', 1)
+ if head and head[0].isdigit() and 'error' in t.lower():
+ return True
+ return False
+
+
def build_body_html(vendor_name, products, about_text):
"""Build rich body HTML with product grid + about section."""
html = '<div style="max-width:900px;margin:0 auto;padding:30px 20px;font-family:Georgia,serif;">\n'
html += f'<h2 style="text-align:center;color:#2c2420;font-size:28px;margin-bottom:8px;">{vendor_name}</h2>\n'
- # About section
- if about_text and len(about_text) > 20:
+ # About section — guard against scorer error strings leaking into live copy
+ if about_text and len(about_text) > 20 and not _is_scorer_error(about_text):
html += f'<p style="text-align:center;font-size:16px;line-height:1.7;color:#5a4a3a;margin-bottom:30px;">{about_text}</p>\n'
else:
html += f'<p style="text-align:center;font-size:16px;line-height:1.7;color:#5a4a3a;margin-bottom:30px;">We carry {vendor_name} products and can source any item from their current collections. Contact us for pricing, samples, and availability.</p>\n'
← ad18e182 Front-page four-horsemen review memo: verdict + staged dev-t
·
back to Designer Wallcoverings
·
Front-page sprint PUBLISHED LIVE as Steves Version 5.2 (1439 712b86ae →