From c6c606b5043c59ab4e84f0b3e0d17fddeb564c33 Mon Sep 17 00:00:00 2001 From: TPV Date: Fri, 25 Sep 2026 19:09:05 -0700 Subject: [PATCH] drop EXPECTED_TASK_ERRORS wrappers in category fetch; finish monitor kwarg rename The add_products_to_database call still passed monitor_name after the previous commit because its hunk sat inside this larger edit. It now passes monitor, matching the monitor_utils signature. --- samsung_shop/samsung_shop_monitor.py | 92 ++++++++++++---------------- 1 file changed, 39 insertions(+), 53 deletions(-) diff --git a/samsung_shop/samsung_shop_monitor.py b/samsung_shop/samsung_shop_monitor.py index 3c6c922..d2e894c 100644 --- a/samsung_shop/samsung_shop_monitor.py +++ b/samsung_shop/samsung_shop_monitor.py @@ -4,7 +4,7 @@ from urllib.parse import urlencode from aioweb_tls import TLSSession from monitor_utils.config import DevelopmentMode -from monitor_utils.constants import CYCLE_DELAY, EXPECTED_TASK_ERRORS +from monitor_utils.constants import CYCLE_DELAY from monitor_utils.database import add_products_to_database from monitor_utils.models import AvailabilityInfo, PricingInfo, Product, ProductMetadata from monitor_utils.runner import ( @@ -53,32 +53,25 @@ async def get_category_products( offset=0, ): LOGGER.debug("getting products", extra={"category": category_id, "offset": offset}) - try: - response = await send_request( - session, - url="https://sribsrch.ecom.samsung.com/estoresearch-api/v1/scom/us/pf_search", - method="POST", - data=urlencode( - { - "clientCode": "b2c", - "clientName": "scom_pf", - "firstSearchYN": "true", - "countryCode": "us", - "storeID": "us_education", - "startIndex": str(offset), - "requestCount": str(PRODUCTS_PER_PAGE), - "category_code": category_id, - "sort": "newest", - } - ), - headers={"content-type": "application/x-www-form-urlencoded"}, - ) - except EXPECTED_TASK_ERRORS: - LOGGER.warning( - "failed to get products", - extra={"category": category_id, "offset": offset}, - ) - raise + response = await send_request( + session, + url="https://sribsrch.ecom.samsung.com/estoresearch-api/v1/scom/us/pf_search", + method="POST", + data=urlencode( + { + "clientCode": "b2c", + "clientName": "scom_pf", + "firstSearchYN": "true", + "countryCode": "us", + "storeID": "us_education", + "startIndex": str(offset), + "requestCount": str(PRODUCTS_PER_PAGE), + "category_code": category_id, + "sort": "newest", + } + ), + headers={"content-type": "application/x-www-form-urlencoded"}, + ) data = response.json() if offset != 0: @@ -114,34 +107,27 @@ async def process_page( ): """Extract and persist one page of category search results.""" - try: - products = extract_products(response) - if products: - await add_products_to_database( - products, - collection, - category_identifier=category_id, - monitor_name="samsung_shop", - ) - LOGGER.info( - "added products", - extra={ - "category": category_id, - "offset": offset, - "count": len(products), - }, - ) - else: - LOGGER.debug( - "no products found", - extra={"category": category_id, "offset": offset}, - ) - except EXPECTED_TASK_ERRORS: - LOGGER.warning( - "failed to build products", + products = extract_products(response) + if products: + await add_products_to_database( + products, + collection, + category_identifier=category_id, + monitor="samsung_shop", + ) + LOGGER.info( + "added products", + extra={ + "category": category_id, + "offset": offset, + "count": len(products), + }, + ) + else: + LOGGER.debug( + "no products found", extra={"category": category_id, "offset": offset}, ) - raise def extract_products(response: dict) -> list[Product]: