diff --git a/src/asquare.py b/src/asquare.py index 0e59e38..e7b86b2 100644 --- a/src/asquare.py +++ b/src/asquare.py @@ -261,9 +261,11 @@ async def update_itm(item_id: str, lego_set: dict, item_data: dict = None): # Get current version for version control current_version = fresh_item.get("version") + category_id = fresh_item.get("category_id") or LEGO_CAT_ID print(f"[@DEBUG] Fresh item version: {current_version}") print(f"[@DEBUG] Fresh variation version: {variation_version}") + print(f"[@DEBUG] Category ID: {category_id}") # Build upsert body variation_obj = { @@ -294,6 +296,7 @@ async def update_itm(item_id: str, lego_set: dict, item_data: dict = None): "item_data": { "name": pw_name, "description": f"{set_name} - {set_theme}", + "category_id": category_id, # Preserve category assignment "variations": [variation_obj], }, }, diff --git a/src/glue.py b/src/glue.py index b6a8f66..acda22e 100644 --- a/src/glue.py +++ b/src/glue.py @@ -79,6 +79,17 @@ async def enrich_single_item(item_id: str, item_data: dict = None, logger=None) set_number = set_numbers[0] + # Check if item is already enriched (format: "XXXXX - THEME Name") + # Pattern: 5 digits, space, dash, space, uppercase theme + if re.match(r"^\d{5}\s-\s[A-Z]", item_name): + if logger: + logger.info(f"Item {item_id} already enriched, skipping: {item_name}") + else: + print( + f"[@DEBUG] Item {item_id} already enriched, skipping: {item_name}" + ) + return True + if logger: logger.info(f"Extracted set number: {set_number}") else: