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/bp/browse/services/state.py
giles 6271a715a1
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
feat: initialize market app with browsing, product, and scraping code
Split from coop monolith. Includes:
- Market/browse/product blueprints
- Product sync API
- Suma scraping pipeline
- Templates for market, browse, and product views
- Dockerfile and CI workflow for independent deployment
2026-02-09 23:16:34 +00:00

22 lines
521 B
Python

from typing import Dict, Tuple, List
import time
_nav_cache: dict = {}
_nav_cache_ts: float = 0.0
_nav_ttl_seconds = 60 * 60 * 6
_detail_cache: Dict[str, Dict] = {}
_detail_cache_ts: Dict[str, float] = {}
_detail_ttl_seconds = 60 * 60 * 6
KNOWN_PRODUCT_SLUGS: set[str] = set()
_listing_variant_cache: Dict[str, Tuple[str, float]] = {}
_listing_variant_ttl = 60 * 60 * 6
_listing_page_cache: Dict[str, Tuple[Tuple[List[Dict], int], float]] = {}
_listing_page_ttl = 60 * 30
def now() -> float:
return time.time()