[object Object]

← 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 →