SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
2.5 KB

# Hobbiesville connector (hobbiesville)

  • Source: https://www.hobbiesville.com · dealer · CA · CAD · Shopify storefront
  • Acquisition: public /collections/<handle>/products.json?limit=250&page=N (shared ShopifyStoreConnector adapter wrapped by MarketPinnedShopifyConnector, which adds a localization=CA cookie so Shopify Markets never geo-converts prices; no store-specific code)
  • Records: listing (asking prices, one per variant; out-of-stock variants → ended)
  • Refresh: every 12 h (ACTIVE→NORMAL boundary, large catalogue) · history: none (listings only)

Toronto TCG + toy retailer. Shopify storefront; MTG singles titles embed "(SET-number)"; also Funko, LEGO and Japanese Pokémon sealed.

# Collections → taxonomy

collection handle category brand / franchise / series
magic-singles magic_the_gathering Magic: The Gathering
fab-singles flesh_and_blood Flesh and Blood
disney-lorcana-singles disney_lorcana Disney Lorcana
gundam-card-game-singles other_tcg Gundam Card Game
japanese-pokemon pokemon Pokémon
bf-yugioh yugioh Yu-Gi-Oh!
funko-pop funko Funko
lego lego_sets LEGO
lego-star-wars lego_sets LEGO / Star Wars
banpresto-one-piece action_figures Banpresto / One Piece

Rules (first match wins, applied to "title | product_type | tags | collection"):

  • \blego\b[\s\S]*minifig|minifig[\s\S]*\blego\b → lego_minifigures (brand LEGO)

Excluded (regex): gift card|sleeves?|deck box|binder|playmat|toploader|top loader|storage box|dice|tokens? only|bundle of|mystery|buylist|submission|event ticket|\bentry\b|tournament|store credit|pre-?release event|supplies|card savers?|\brepack|bulk lot|\blot of\b|\bpaints?\b|primer|brushes|online (pack|code)|digital code|code card|unused digital|ptcgo|ptcg live

Title pattern: ^(?<name>.+?) \((?<set>[A-Z0-9]{2,6})-(?<number>[A-Za-z0-9]+)\) (name / set / number)

# Access & compliance

See accessNotes in meta.json: robots.txt verified 2026-09-08 (standard Shopify rules, products.json paths allowed), honest UA, 1 req / 1.5 s, listings only, no personal data. Not fetched: gift-guide/sale umbrella collections, board games, blind boxes, supplies.

# Fixtures & tests

data/fixtures/hobbiesville/ — live captures (pnpm tsx connectors/api/_g3-shops-na-lib/capture.ts hobbiesville), trimmed single-product payloads incl. a sold-out variant. pnpm vitest run connectors/api/hobbiesville · live probe: pnpm tsx connectors/api/_g3-shops-na-lib/probe.ts hobbiesville.