"""Product utils.""" from owsresponse import status as owsresponse_status from pythonfeatures.pythonfeatures import get_single_feature_by_attributes from product_review.models import ows_account from product_review.models import ows_product as ows_product_model from product_review.util import exception as exception_util def check_product_queue_eligibility(product_id): """Check product queue eligibility.""" product = ows_product_model.get_product(product_id) vendor_id = product["vendor_id"] distribution_format_id = product["distribution_format_id"] vendor_data = ows_account.get_vendor(vendor_id) company_brand = ows_account.get_vendor_company_brand(vendor_id) assigned_reviewer = vendor_data.get("assigned_reviewer") split_attributes = { "vendor_id": str(vendor_id), "distribution_format_id": str(distribution_format_id), "company_brand_name": company_brand, "owner": vendor_data.get("owner"), "assigned_to": vendor_data.get("assigned_to"), "assigned_reviewer": str(assigned_reviewer) if assigned_reviewer else None, } result = get_single_feature_by_attributes( "content_review_product_split", split_attributes ) if result.status != owsresponse_status.OK: exception_util.raise_exception_for_ows_response( status=result.status, code="split_fetch_failed", message=result.message, ) return result.message == "enabled"