Update catalog_loader.py

This commit is contained in:
thekiwismarthome
2026-02-14 06:59:16 +13:00
committed by GitHub
parent 1b05185dfe
commit 9a74fd9027
@@ -1,15 +1,14 @@
"""Product catalog loader for Shopping List Manager."""
import json
import logging
import os
from typing import List, Dict, Any
import aiofiles
_LOGGER = logging.getLogger(__name__)
def load_product_catalog(component_path: str, country_code: str = "NZ") -> List[Dict[str, Any]]:
"""Load product catalog from JSON file.
async def load_product_catalog(component_path: str, country_code: str = "NZ") -> List[Dict[str, Any]]:
"""Load product catalog from JSON file asynchronously.
Args:
component_path: Path to the component directory
@@ -18,26 +17,28 @@ def load_product_catalog(component_path: str, country_code: str = "NZ") -> List[
Returns:
List of product dictionaries
"""
import os
# Try country-specific catalog first
if country_code:
country_file = os.path.join(
catalog_file = os.path.join(
component_path, "data", f"products_catalog_{country_code.lower()}.json"
)
if os.path.exists(country_file):
catalog_file = country_file
_LOGGER.debug("Using country-specific product catalog: %s", country_code)
else:
if not os.path.exists(catalog_file):
_LOGGER.warning(
"No country-specific catalog found for %s",
country_code
"No country-specific catalog found for %s at %s",
country_code,
catalog_file
)
return []
else:
return []
try:
with open(catalog_file, "r", encoding="utf-8") as f:
data = json.load(f)
# Use aiofiles for async file reading
async with aiofiles.open(catalog_file, "r", encoding="utf-8") as f:
content = await f.read()
data = json.loads(content)
_LOGGER.info(
"Loaded product catalog version %s for region %s",