This repository has been archived on 2026-02-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
market/scrape/persist_api/capture_listing.py
giles 6202b31e8e
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
fix: nest market blueprint under post slug /<slug>/<market_slug>/
Market app now follows the events app pattern — URLs include
the post slug prefix (e.g. /market/suma-market/). Hydrate
loads both post and market, verifying market belongs to post.
Scraper default URLs updated accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:15:45 +00:00

27 lines
688 B
Python

# replace your existing upsert_product with this version
import os
import httpx
from typing import List
async def capture_listing(
url: str,
items: List[str],
total_pages: int
):
sync_url = os.getenv("CAPTURE_LISTING_URL", "http://localhost:8001/market/suma-market/api/products/listing/")
async with httpx.AsyncClient(timeout=httpx.Timeout(20.0, connect=10.0)) as client:
_d = {
"url": url,
"items": items,
"total_pages": total_pages
}
resp = await client.post(sync_url, json=_d)
# Raise for non-2xx
resp.raise_for_status()
data = resp.json() if resp.content else {}
return data