← back to Dw Five Field Step0
Add skip-guard: rows with no resolvable base SKU (dw_sku None/empty) are skipped, not turned into None-Sample/null-sku variants
4cfe6daf76042f1fcfa48bf3388ef3d5483d2c68 · 2026-06-21 20:23:02 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
Diff
commit 4cfe6daf76042f1fcfa48bf3388ef3d5483d2c68
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sun Jun 21 20:23:02 2026 -0700
Add skip-guard: rows with no resolvable base SKU (dw_sku None/empty) are skipped, not turned into None-Sample/null-sku variants
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
bulk-fivefield-exec.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/bulk-fivefield-exec.py b/bulk-fivefield-exec.py
index dfaddef..b2c5493 100644
--- a/bulk-fivefield-exec.py
+++ b/bulk-fivefield-exec.py
@@ -149,6 +149,13 @@ def process(item, results, dry_run=False):
rec["status"] = "errored"; rec["reason"] = f"unknown_fix_type:{fix}"
results.append(rec); print(f"ERR {dw}: unknown fix {fix}"); return 0
+ # skip-guard (2026-06-21): rows with no resolvable base SKU would create a
+ # "None-Sample" / null-sku variant. Skip them (never name-guess) — covers the
+ # 514 unresolvable add-sample rows and the build-roll rows with dw_sku=None.
+ if dw is None or str(dw).strip() in ("", "None", "null"):
+ rec["status"] = "skipped"; rec["reason"] = "no_resolvable_base_sku"
+ results.append(rec); print(f"SKIP {dw} [{fix}]: no resolvable base sku"); return 0
+
# --- fetch live ---
st, r = shop("GET", f"products/{pid}.json?fields=id,handle,title,status,vendor,variants")
if st != 200:
← 8c4a666 Load 1,934 JD combined costs durably + make priceable + queu
·
back to Dw Five Field Step0
·
auto-save: 2026-06-21T20:31:57 (1 files) — out/bulk-fivefiel 4fa6120 →