"""Product preprocessing.""" from switchboard_consumer.formatters.common import format_cline, format_pline from switchboard_consumer.logic.preprocessing import track def preprocess(product): """Preprocess product.""" preprocess_product_cline(product) preprocess_product_pline(product) for component in product.get('components', []): for side in component.get('sides', []): product_tracks = side.get('productTracks', []) if product_tracks: for productTrack in product_tracks: track.preprocess(productTrack.get('track')) return product def preprocess_product_cline(product): """Preprocess product cLine.""" formatted_cline = format_cline(product.get('cLine')) product['cLine'] = {'cLineText': formatted_cline} def preprocess_product_pline(product): """Preprocess product pLine.""" formatted_pline = format_pline(product.get('pLine')) product['pLine'] = {'pLineText': formatted_pline}