"""Logic related to submitting products to poll. Contains methods which collect data about the products which are currently polled as well as submit products to poll. """ from availability.constants import field_const from availability.models import helpers from availability.validation import product_submission def submit_to_poll(products): """Submit products that this service should poll status of. Args: products (list of dict): list of products in store to save. Returns: Response: Response of dictionary with error or empty message if valid. """ products = ( product_submission.filter_initial_product_fields(product) for product in products) products = ( helpers.attributes_to_datetime(product, field_const.DATE_FIELDS) for product in products) result = helpers.create_submitted_products(products) return result