"""Logic for constructing the output S3 path.""" from typing import Any def build_output_s3_path( product_metadata: dict[str, Any], review_queue_id: int | None ) -> str: """Build the output S3 path from vendor, subaccount, release, and review queue IDs.""" label = product_metadata.get("label") or {} vendor_id = label.get("vendor_id") subaccount_id = label.get("subaccount_id") release_id = product_metadata.get("product_id") missing = [ name for name, val in ( ("vendor_id", vendor_id), ("subaccount_id", subaccount_id), ("release_id", release_id), ("review_queue_id", review_queue_id), ) if val is None ] if missing: raise ValueError(f"Missing required fields for output_s3_path: {missing}") return f"{vendor_id}/{subaccount_id}/{release_id}/{review_queue_id}"