[object Object]

← back to Eur Recrawl

archive_disco.py (gated): archive 188 vendor-discontinued EUR- (Osborne 147/DG 37/Lacroix 3/Nina 1); status->ARCHIVED, reversible; matched via Discontinued PDFs (not Limited)

bab6a63e60b615bdf29c348e004aa7977401cc54 · 2026-07-30 21:27:11 -0700 · Steve

Files touched

Diff

commit bab6a63e60b615bdf29c348e004aa7977401cc54
Author: Steve <steve@designerwallcoverings.com>
Date:   Thu Jul 30 21:27:11 2026 -0700

    archive_disco.py (gated): archive 188 vendor-discontinued EUR- (Osborne 147/DG 37/Lacroix 3/Nina 1); status->ARCHIVED, reversible; matched via Discontinued PDFs (not Limited)
---
 archive-results.json |   5 +
 archive_disco.py     |  75 ++++
 archive_list.json    | 942 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 1022 insertions(+)

diff --git a/archive-results.json b/archive-results.json
new file mode 100644
index 0000000..aff7440
--- /dev/null
+++ b/archive-results.json
@@ -0,0 +1,5 @@
+{
+  "archived": 188,
+  "skipped": 0,
+  "errors": []
+}
\ No newline at end of file
diff --git a/archive_disco.py b/archive_disco.py
new file mode 100644
index 0000000..9cc5e4d
--- /dev/null
+++ b/archive_disco.py
@@ -0,0 +1,75 @@
+#!/usr/bin/env python3
+"""
+Archive vendor-DISCONTINUED EUR- products — GATED (Steve runs).
+
+Sets status ACTIVE -> ARCHIVED for the 188 held EUR- products whose mfr pattern
+appears on the vendor DISCONTINUED lists (DiscontinuedList.pdf + the DG
+discontinued list). These are already parked (no current trade price) AND
+officially discontinued by the vendor. ARCHIVED hides them from the storefront
+but preserves them (reversible; not deleted).
+
+Scope note: matched at pattern (base-code) level — a product is archived if it's
+parked (unpriceable) AND its base pattern is on a discontinued list. Not the
+LIMITED-stock list (those stay orderable). Reads archive_list.json.
+
+SAFETY: DRY_RUN=1 default. Smoke: DRY_RUN=0 LIMIT=1 python3 archive_disco.py
+"""
+import os, json, time, urllib.request
+
+HERE = os.path.dirname(os.path.abspath(__file__))
+DRY_RUN = os.environ.get("DRY_RUN", "1") != "0"
+LIMIT = int(os.environ.get("LIMIT", "0")) or None
+
+def _tok():
+    for l in open(os.path.expanduser("~/Projects/secrets-manager/.env")):
+        if l.startswith("SHOPIFY_ADMIN_TOKEN="): return l.split("=", 1)[1].strip().strip('"')
+    raise SystemExit("token")
+TOKEN = os.environ.get("AT") or _tok()
+URL = "https://designer-laboratory-sandbox.myshopify.com/admin/api/2024-10/graphql.json"
+
+def gql(q, v=None):
+    b = json.dumps({"query": q, "variables": v or {}}).encode()
+    req = urllib.request.Request(URL, b, {"X-Shopify-Access-Token": TOKEN, "Content-Type": "application/json"})
+    for a in range(6):
+        try:
+            d = json.load(urllib.request.urlopen(req, timeout=60))
+            if "errors" in d and any("THROTTLED" in str(e) for e in d["errors"]):
+                time.sleep(2 * (a + 1)); continue
+            return d
+        except Exception:
+            time.sleep(2 * (a + 1))
+    raise RuntimeError("gql failed")
+
+FIND = 'query($q:String!){products(first:1,query:$q){edges{node{id status title}}}}'
+UPD = 'mutation($id:ID!){productUpdate(input:{id:$id,status:ARCHIVED}){product{status} userErrors{message}}}'
+
+def main():
+    items = json.load(open(os.path.join(HERE, "archive_list.json")))
+    if LIMIT: items = items[:LIMIT]
+    done = skip = 0; errs = []
+    print(f"{'DRY-RUN' if DRY_RUN else 'LIVE'}: archiving {len(items)} vendor-discontinued products")
+    for i, it in enumerate(items):
+        sku = it["sku"]
+        d = gql(FIND, {"q": "sku:" + sku})
+        e = (d.get("data") or {}).get("products", {}).get("edges", [])
+        if not e:
+            errs.append({"sku": sku, "err": "not found"}); continue
+        node = e[0]["node"]
+        if node["status"] == "ARCHIVED":
+            skip += 1; continue
+        if DRY_RUN:
+            if i < 6: print(f"  would archive {sku} [{it['vendor']}] {node['title'][:34]}")
+            done += 1; continue
+        r = gql(UPD, {"id": node["id"]})
+        ue = ((r.get("data") or {}).get("productUpdate") or {}).get("userErrors") or []
+        if ue: errs.append({"sku": sku, "err": ue[:2]})
+        else: done += 1
+        if i % 25 == 0: print(f"  ...{i}/{len(items)} archived={done} err={len(errs)}")
+        time.sleep(0.3)
+    json.dump({"archived": done, "skipped": skip, "errors": errs[:25]},
+              open(os.path.join(HERE, "archive-results.json"), "w"), indent=2)
+    print(f"\nDONE {'(DRY-RUN)' if DRY_RUN else ''}: archived={done} skip={skip} err={len(errs)}")
+    if errs: print("errs:", json.dumps(errs[:3]))
+
+if __name__ == "__main__":
+    main()
diff --git a/archive_list.json b/archive_list.json
new file mode 100644
index 0000000..98d5c5f
--- /dev/null
+++ b/archive_list.json
@@ -0,0 +1,942 @@
+[
+ {
+  "sku": "EUR-70315",
+  "vendor": "Osborne & Little",
+  "code": "W5513"
+ },
+ {
+  "sku": "EUR-70321",
+  "vendor": "Osborne & Little",
+  "code": "W5603"
+ },
+ {
+  "sku": "EUR-70333",
+  "vendor": "Osborne & Little",
+  "code": "W6300"
+ },
+ {
+  "sku": "EUR-70420",
+  "vendor": "Osborne & Little",
+  "code": "W6430"
+ },
+ {
+  "sku": "EUR-70421",
+  "vendor": "Osborne & Little",
+  "code": "W6430"
+ },
+ {
+  "sku": "EUR-70431",
+  "vendor": "Osborne & Little",
+  "code": "W6433"
+ },
+ {
+  "sku": "EUR-70501",
+  "vendor": "Osborne & Little",
+  "code": "W6545"
+ },
+ {
+  "sku": "EUR-70487",
+  "vendor": "Osborne & Little",
+  "code": "W6541"
+ },
+ {
+  "sku": "EUR-70503",
+  "vendor": "Osborne & Little",
+  "code": "W6545"
+ },
+ {
+  "sku": "EUR-70496",
+  "vendor": "Osborne & Little",
+  "code": "W6543"
+ },
+ {
+  "sku": "EUR-70525",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70627",
+  "vendor": "Osborne & Little",
+  "code": "W6764"
+ },
+ {
+  "sku": "EUR-70610",
+  "vendor": "Osborne & Little",
+  "code": "W6760"
+ },
+ {
+  "sku": "EUR-70642",
+  "vendor": "Osborne & Little",
+  "code": "W6802"
+ },
+ {
+  "sku": "EUR-70704",
+  "vendor": "Osborne & Little",
+  "code": "W6904"
+ },
+ {
+  "sku": "EUR-70695",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70746",
+  "vendor": "Osborne & Little",
+  "code": "W7025"
+ },
+ {
+  "sku": "EUR-70967",
+  "vendor": "Osborne & Little",
+  "code": "W7458"
+ },
+ {
+  "sku": "EUR-70907",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70911",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-71341",
+  "vendor": "Osborne & Little",
+  "code": "CW5410"
+ },
+ {
+  "sku": "EUR-71377",
+  "vendor": "Osborne & Little",
+  "code": "VW5814"
+ },
+ {
+  "sku": "EUR-70524",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70902",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70782",
+  "vendor": "Osborne & Little",
+  "code": "W7190"
+ },
+ {
+  "sku": "EUR-70905",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70912",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70918",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70175",
+  "vendor": "Designers Guild",
+  "code": "PDG718"
+ },
+ {
+  "sku": "EUR-80702",
+  "vendor": "Designers Guild",
+  "code": "PDG1034"
+ },
+ {
+  "sku": "EUR-70509",
+  "vendor": "Osborne & Little",
+  "code": "W6580"
+ },
+ {
+  "sku": "EUR-70512",
+  "vendor": "Osborne & Little",
+  "code": "W6580"
+ },
+ {
+  "sku": "EUR-70592",
+  "vendor": "Osborne & Little",
+  "code": "W6752"
+ },
+ {
+  "sku": "EUR-70796",
+  "vendor": "Osborne & Little",
+  "code": "W7193"
+ },
+ {
+  "sku": "EUR-70174",
+  "vendor": "Designers Guild",
+  "code": "PDG718"
+ },
+ {
+  "sku": "EUR-90283",
+  "vendor": "Designers Guild",
+  "code": "P604"
+ },
+ {
+  "sku": "EUR-90369",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-70914",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70432",
+  "vendor": "Osborne & Little",
+  "code": "W6433"
+ },
+ {
+  "sku": "EUR-70620",
+  "vendor": "Osborne & Little",
+  "code": "W6762"
+ },
+ {
+  "sku": "EUR-70741",
+  "vendor": "Osborne & Little",
+  "code": "W7023"
+ },
+ {
+  "sku": "EUR-70789",
+  "vendor": "Osborne & Little",
+  "code": "W7191"
+ },
+ {
+  "sku": "EUR-70915",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70768",
+  "vendor": "Osborne & Little",
+  "code": "W7143"
+ },
+ {
+  "sku": "EUR-70802",
+  "vendor": "Osborne & Little",
+  "code": "W7194"
+ },
+ {
+  "sku": "EUR-70909",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70791",
+  "vendor": "Osborne & Little",
+  "code": "W7191"
+ },
+ {
+  "sku": "EUR-70049",
+  "vendor": "Designers Guild",
+  "code": "PDG650"
+ },
+ {
+  "sku": "EUR-70466",
+  "vendor": "Osborne & Little",
+  "code": "W6495"
+ },
+ {
+  "sku": "EUR-70726",
+  "vendor": "Osborne & Little",
+  "code": "W6957"
+ },
+ {
+  "sku": "EUR-70836",
+  "vendor": "Osborne & Little",
+  "code": "W7219"
+ },
+ {
+  "sku": "EUR-70511",
+  "vendor": "Osborne & Little",
+  "code": "W6580"
+ },
+ {
+  "sku": "EUR-80417",
+  "vendor": "Nina Campbell",
+  "code": "NCW4396"
+ },
+ {
+  "sku": "EUR-90358",
+  "vendor": "Designers Guild",
+  "code": "PDG1059"
+ },
+ {
+  "sku": "EUR-70168",
+  "vendor": "Designers Guild",
+  "code": "PDG716"
+ },
+ {
+  "sku": "EUR-70485",
+  "vendor": "Osborne & Little",
+  "code": "W6541"
+ },
+ {
+  "sku": "EUR-70727",
+  "vendor": "Osborne & Little",
+  "code": "W6957"
+ },
+ {
+  "sku": "EUR-70916",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70799",
+  "vendor": "Osborne & Little",
+  "code": "W7193"
+ },
+ {
+  "sku": "EUR-70520",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70966",
+  "vendor": "Osborne & Little",
+  "code": "W7458"
+ },
+ {
+  "sku": "EUR-80670",
+  "vendor": "Designers Guild",
+  "code": "PDG1025"
+ },
+ {
+  "sku": "EUR-70793",
+  "vendor": "Osborne & Little",
+  "code": "W7192"
+ },
+ {
+  "sku": "EUR-70910",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70521",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70679",
+  "vendor": "Osborne & Little",
+  "code": "W6898"
+ },
+ {
+  "sku": "EUR-70903",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70784",
+  "vendor": "Osborne & Little",
+  "code": "W7190"
+ },
+ {
+  "sku": "EUR-70794",
+  "vendor": "Osborne & Little",
+  "code": "W7192"
+ },
+ {
+  "sku": "EUR-70968",
+  "vendor": "Osborne & Little",
+  "code": "W7458"
+ },
+ {
+  "sku": "EUR-70698",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70738",
+  "vendor": "Osborne & Little",
+  "code": "W7023"
+ },
+ {
+  "sku": "EUR-80515",
+  "vendor": "Christian Lacroix Europe",
+  "code": "PCL1007"
+ },
+ {
+  "sku": "EUR-70865",
+  "vendor": "Osborne & Little",
+  "code": "W7267"
+ },
+ {
+  "sku": "EUR-70824",
+  "vendor": "Osborne & Little",
+  "code": "W7216"
+ },
+ {
+  "sku": "EUR-70973",
+  "vendor": "Osborne & Little",
+  "code": "W7460"
+ },
+ {
+  "sku": "EUR-80672",
+  "vendor": "Designers Guild",
+  "code": "PDG1025"
+ },
+ {
+  "sku": "EUR-80704",
+  "vendor": "Designers Guild",
+  "code": "PDG1034"
+ },
+ {
+  "sku": "EUR-90375",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-70591",
+  "vendor": "Osborne & Little",
+  "code": "W6752"
+ },
+ {
+  "sku": "EUR-70900",
+  "vendor": "Osborne & Little",
+  "code": "W7339"
+ },
+ {
+  "sku": "EUR-70419",
+  "vendor": "Osborne & Little",
+  "code": "W6430"
+ },
+ {
+  "sku": "EUR-70456",
+  "vendor": "Osborne & Little",
+  "code": "W6492"
+ },
+ {
+  "sku": "EUR-70462",
+  "vendor": "Osborne & Little",
+  "code": "W6494"
+ },
+ {
+  "sku": "EUR-90354",
+  "vendor": "Designers Guild",
+  "code": "PDG1059"
+ },
+ {
+  "sku": "EUR-90373",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-90279",
+  "vendor": "Designers Guild",
+  "code": "P604"
+ },
+ {
+  "sku": "EUR-90280",
+  "vendor": "Designers Guild",
+  "code": "P604"
+ },
+ {
+  "sku": "EUR-70167",
+  "vendor": "Designers Guild",
+  "code": "PDG715"
+ },
+ {
+  "sku": "EUR-71340",
+  "vendor": "Osborne & Little",
+  "code": "CW5410"
+ },
+ {
+  "sku": "EUR-70522",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70593",
+  "vendor": "Osborne & Little",
+  "code": "W6752"
+ },
+ {
+  "sku": "EUR-70678",
+  "vendor": "Osborne & Little",
+  "code": "W6898"
+ },
+ {
+  "sku": "EUR-70084",
+  "vendor": "Designers Guild",
+  "code": "PDG676"
+ },
+ {
+  "sku": "EUR-70434",
+  "vendor": "Osborne & Little",
+  "code": "W6433"
+ },
+ {
+  "sku": "EUR-70588",
+  "vendor": "Osborne & Little",
+  "code": "W6751"
+ },
+ {
+  "sku": "EUR-70638",
+  "vendor": "Osborne & Little",
+  "code": "W6802"
+ },
+ {
+  "sku": "EUR-70640",
+  "vendor": "Osborne & Little",
+  "code": "W6802"
+ },
+ {
+  "sku": "EUR-80669",
+  "vendor": "Designers Guild",
+  "code": "PDG1025"
+ },
+ {
+  "sku": "EUR-90371",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-70170",
+  "vendor": "Designers Guild",
+  "code": "PDG716"
+ },
+ {
+  "sku": "EUR-70435",
+  "vendor": "Osborne & Little",
+  "code": "W6433"
+ },
+ {
+  "sku": "EUR-70693",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70786",
+  "vendor": "Osborne & Little",
+  "code": "W7190"
+ },
+ {
+  "sku": "EUR-70809",
+  "vendor": "Osborne & Little",
+  "code": "W7211"
+ },
+ {
+  "sku": "EUR-70705",
+  "vendor": "Osborne & Little",
+  "code": "W6904"
+ },
+ {
+  "sku": "EUR-90355",
+  "vendor": "Designers Guild",
+  "code": "PDG1059"
+ },
+ {
+  "sku": "EUR-70896",
+  "vendor": "Osborne & Little",
+  "code": "W7339"
+ },
+ {
+  "sku": "EUR-70276",
+  "vendor": "Osborne & Little",
+  "code": "W5220"
+ },
+ {
+  "sku": "EUR-80516",
+  "vendor": "Christian Lacroix Europe",
+  "code": "PCL1007"
+ },
+ {
+  "sku": "EUR-80517",
+  "vendor": "Christian Lacroix Europe",
+  "code": "PCL661"
+ },
+ {
+  "sku": "EUR-80671",
+  "vendor": "Designers Guild",
+  "code": "PDG1025"
+ },
+ {
+  "sku": "EUR-80703",
+  "vendor": "Designers Guild",
+  "code": "PDG1034"
+ },
+ {
+  "sku": "EUR-80732",
+  "vendor": "Designers Guild",
+  "code": "PDG1049"
+ },
+ {
+  "sku": "EUR-90282",
+  "vendor": "Designers Guild",
+  "code": "P604"
+ },
+ {
+  "sku": "EUR-90357",
+  "vendor": "Designers Guild",
+  "code": "PDG1059"
+ },
+ {
+  "sku": "EUR-70169",
+  "vendor": "Designers Guild",
+  "code": "PDG716"
+ },
+ {
+  "sku": "EUR-70047",
+  "vendor": "Designers Guild",
+  "code": "PDG650"
+ },
+ {
+  "sku": "EUR-70085",
+  "vendor": "Designers Guild",
+  "code": "PDG676"
+ },
+ {
+  "sku": "EUR-70314",
+  "vendor": "Osborne & Little",
+  "code": "W5513"
+ },
+ {
+  "sku": "EUR-70320",
+  "vendor": "Osborne & Little",
+  "code": "W5603"
+ },
+ {
+  "sku": "EUR-70508",
+  "vendor": "Osborne & Little",
+  "code": "W6580"
+ },
+ {
+  "sku": "EUR-70510",
+  "vendor": "Osborne & Little",
+  "code": "W6580"
+ },
+ {
+  "sku": "EUR-70629",
+  "vendor": "Osborne & Little",
+  "code": "W6765"
+ },
+ {
+  "sku": "EUR-70519",
+  "vendor": "Osborne & Little",
+  "code": "W6582"
+ },
+ {
+  "sku": "EUR-70641",
+  "vendor": "Osborne & Little",
+  "code": "W6802"
+ },
+ {
+  "sku": "EUR-70658",
+  "vendor": "Osborne & Little",
+  "code": "W6891"
+ },
+ {
+  "sku": "EUR-70433",
+  "vendor": "Osborne & Little",
+  "code": "W6433"
+ },
+ {
+  "sku": "EUR-70455",
+  "vendor": "Osborne & Little",
+  "code": "W6492"
+ },
+ {
+  "sku": "EUR-70579",
+  "vendor": "Osborne & Little",
+  "code": "W6657"
+ },
+ {
+  "sku": "EUR-70586",
+  "vendor": "Osborne & Little",
+  "code": "W6751"
+ },
+ {
+  "sku": "EUR-70694",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70696",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70699",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70701",
+  "vendor": "Osborne & Little",
+  "code": "W6903"
+ },
+ {
+  "sku": "EUR-70703",
+  "vendor": "Osborne & Little",
+  "code": "W6904"
+ },
+ {
+  "sku": "EUR-70464",
+  "vendor": "Osborne & Little",
+  "code": "W6494"
+ },
+ {
+  "sku": "EUR-70465",
+  "vendor": "Osborne & Little",
+  "code": "W6494"
+ },
+ {
+  "sku": "EUR-70708",
+  "vendor": "Osborne & Little",
+  "code": "W6950"
+ },
+ {
+  "sku": "EUR-70611",
+  "vendor": "Osborne & Little",
+  "code": "W6760"
+ },
+ {
+  "sku": "EUR-70609",
+  "vendor": "Osborne & Little",
+  "code": "W6760"
+ },
+ {
+  "sku": "EUR-70706",
+  "vendor": "Osborne & Little",
+  "code": "W6904"
+ },
+ {
+  "sku": "EUR-70720",
+  "vendor": "Osborne & Little",
+  "code": "W6954"
+ },
+ {
+  "sku": "EUR-70863",
+  "vendor": "Osborne & Little",
+  "code": "W7267"
+ },
+ {
+  "sku": "EUR-70866",
+  "vendor": "Osborne & Little",
+  "code": "W7267"
+ },
+ {
+  "sku": "EUR-70869",
+  "vendor": "Osborne & Little",
+  "code": "W7268"
+ },
+ {
+  "sku": "EUR-70874",
+  "vendor": "Osborne & Little",
+  "code": "W7331"
+ },
+ {
+  "sku": "EUR-70766",
+  "vendor": "Osborne & Little",
+  "code": "W7143"
+ },
+ {
+  "sku": "EUR-70770",
+  "vendor": "Osborne & Little",
+  "code": "W7143"
+ },
+ {
+  "sku": "EUR-70876",
+  "vendor": "Osborne & Little",
+  "code": "W7331"
+ },
+ {
+  "sku": "EUR-70877",
+  "vendor": "Osborne & Little",
+  "code": "W7331"
+ },
+ {
+  "sku": "EUR-70885",
+  "vendor": "Osborne & Little",
+  "code": "W7335"
+ },
+ {
+  "sku": "EUR-70785",
+  "vendor": "Osborne & Little",
+  "code": "W7190"
+ },
+ {
+  "sku": "EUR-70897",
+  "vendor": "Osborne & Little",
+  "code": "W7339"
+ },
+ {
+  "sku": "EUR-70787",
+  "vendor": "Osborne & Little",
+  "code": "W7191"
+ },
+ {
+  "sku": "EUR-70747",
+  "vendor": "Osborne & Little",
+  "code": "W7025"
+ },
+ {
+  "sku": "EUR-70792",
+  "vendor": "Osborne & Little",
+  "code": "W7192"
+ },
+ {
+  "sku": "EUR-70899",
+  "vendor": "Osborne & Little",
+  "code": "W7339"
+ },
+ {
+  "sku": "EUR-70904",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70906",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70797",
+  "vendor": "Osborne & Little",
+  "code": "W7193"
+ },
+ {
+  "sku": "EUR-70908",
+  "vendor": "Osborne & Little",
+  "code": "W7350"
+ },
+ {
+  "sku": "EUR-70913",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70807",
+  "vendor": "Osborne & Little",
+  "code": "W7211"
+ },
+ {
+  "sku": "EUR-70917",
+  "vendor": "Osborne & Little",
+  "code": "W7351"
+ },
+ {
+  "sku": "EUR-70812",
+  "vendor": "Osborne & Little",
+  "code": "W7212"
+ },
+ {
+  "sku": "EUR-70959",
+  "vendor": "Osborne & Little",
+  "code": "W7455"
+ },
+ {
+  "sku": "EUR-70961",
+  "vendor": "Osborne & Little",
+  "code": "W7455"
+ },
+ {
+  "sku": "EUR-70827",
+  "vendor": "Osborne & Little",
+  "code": "W7216"
+ },
+ {
+  "sku": "EUR-70976",
+  "vendor": "Osborne & Little",
+  "code": "W7490"
+ },
+ {
+  "sku": "EUR-70978",
+  "vendor": "Osborne & Little",
+  "code": "W7490"
+ },
+ {
+  "sku": "EUR-71342",
+  "vendor": "Osborne & Little",
+  "code": "CW5410"
+ },
+ {
+  "sku": "EUR-71376",
+  "vendor": "Osborne & Little",
+  "code": "VW5814"
+ },
+ {
+  "sku": "EUR-71378",
+  "vendor": "Osborne & Little",
+  "code": "VW5814"
+ },
+ {
+  "sku": "EUR-70977",
+  "vendor": "Osborne & Little",
+  "code": "W7490"
+ },
+ {
+  "sku": "EUR-70790",
+  "vendor": "Osborne & Little",
+  "code": "W7191"
+ },
+ {
+  "sku": "EUR-70322",
+  "vendor": "Osborne & Little",
+  "code": "W5603"
+ },
+ {
+  "sku": "EUR-70960",
+  "vendor": "Osborne & Little",
+  "code": "W7455"
+ },
+ {
+  "sku": "EUR-80729",
+  "vendor": "Designers Guild",
+  "code": "PDG1044"
+ },
+ {
+  "sku": "EUR-70838",
+  "vendor": "Osborne & Little",
+  "code": "W7260"
+ },
+ {
+  "sku": "EUR-80742",
+  "vendor": "Designers Guild",
+  "code": "PDG1053"
+ },
+ {
+  "sku": "EUR-70808",
+  "vendor": "Osborne & Little",
+  "code": "W7211"
+ },
+ {
+  "sku": "EUR-90281",
+  "vendor": "Designers Guild",
+  "code": "P604"
+ },
+ {
+  "sku": "EUR-90370",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-90372",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-90374",
+  "vendor": "Designers Guild",
+  "code": "PDG1063"
+ },
+ {
+  "sku": "EUR-70840",
+  "vendor": "Osborne & Little",
+  "code": "W7260"
+ },
+ {
+  "sku": "EUR-70048",
+  "vendor": "Designers Guild",
+  "code": "PDG650"
+ }
+]
\ No newline at end of file

← 83fd205 chore: session-close — syntax-clean + version bump v0.1.0 ->  ·  back to Eur Recrawl  ·  chore: session close — archive_disco.py syntax-clean + v0.1. 611948c →