"""Constants for localized template related functionality.""" from collections import namedtuple # Constants show how and which price related fields should be used in sheet. SHEET_LABEL = 'sheet_label' SHEET_PRICE_VALUE = 'sheet_price_value' PRICE_SOURCE_FIELD = 'price_source_field' PRICING = 'pricing' PRICE = 'Price' PRICE_CODE = 'Price Code' PRICE_CODE_SOURCE = 'price_code' STORE_PRICING_TIER_SOURCE = 'store_pricing_tier_name' STORE_ID = 'store_id' PriceInformation = namedtuple(PRICING, [SHEET_LABEL, PRICE_SOURCE_FIELD]) code_based_price = PriceInformation(PRICE, PRICE_CODE_SOURCE) tier_based_price = PriceInformation(PRICE_CODE, STORE_PRICING_TIER_SOURCE) # Constants show which region should use which field from ows-pricing response. AUS = 'AUS' CAN = 'CAN' EU = 'EU' UK = 'UK' USA = 'USA' ASIA = 'ASIA' SME_CAN = 'SME_CAN' JP = 'JP' REGION_PRICING_MAPPING = { AUS: code_based_price, CAN: code_based_price, EU: tier_based_price, UK: code_based_price, USA: tier_based_price, ASIA: tier_based_price, SME_CAN: code_based_price, JP: tier_based_price } NAME_PRICING_MAPPING = { AUS: 'AUS', CAN: 'CAN', EU: 'EUR', UK: 'UK', USA: 'US', ASIA: 'ASIA', SME_CAN: 'CAN', JP: 'JP' } PHYS_PRICING_FAMILY_ID = 4 CONTACT_DATA_FORMAT_MAPPING = { 'UK': ( '{apartment} {street}\n{city}\n{postal_code}\n{country}\n{telephone}'), 'USA': ( '{apartment} {street}\n{city}, {state} {postal_code}\n{country}\n' '{telephone}'), 'CAN': ( '{apartment} {street}\n{city}, {state} {postal_code}\n{country}\n' '{telephone}'), 'AUS': ('{apartment} {street}\n{city}, {state} {postal_code}\n{country}\n' '{telephone}'), 'EU': '{street} {apartment}\n{postal_code} {city}, {country}\n{telephone}', 'ASIA': ( '{street} {apartment}\n{postal_code} {city}, {country}\n{telephone}'), 'SME_CAN': ( '{apartment} {street}\n{city}, {state} {postal_code}\n{country}\n' '{telephone}'), 'JP': ( '{apartment}\n{street}\n{country}, {city} {postal_code}\n' '{telephone}') } LOCALIZED_ORCHARD_CONTACT = 'localized_orchard_contact' TEMPLATE_DETAILS_IDS = { UK: 1, USA: 2, CAN: 3, AUS: 4, EU: 5, ASIA: 6, SME_CAN: 7, JP: 8 }