diff --git a/modules/web_shop_shopify/party.py b/modules/web_shop_shopify/party.py index 966537182b..9344fb0f9f 100644 --- a/modules/web_shop_shopify/party.py +++ b/modules/web_shop_shopify/party.py @@ -1,11 +1,16 @@ # This file is part of Tryton. The COPYRIGHT file at the top level of # this repository contains the full copyright notices and license terms. +import logging + from trytond.model import sequence_reorder from trytond.pool import Pool, PoolMeta from trytond.tools import remove_forbidden_chars +from trytond.tools.email_ import EmailNotValidError, validate_email from .common import IdentifiersMixin, setattr_changed +logger = logging.getLogger(__name__) + class Party(IdentifiersMixin, metaclass=PoolMeta): __name__ = 'party.party' @@ -41,6 +46,12 @@ class Party(IdentifiersMixin, metaclass=PoolMeta): contact_mechanisms.pop(i)) break else: + if types[0] == 'email': + try: + validate_email(value) + except EmailNotValidError as e: + logger.info("Skip email %s", value, exc_info=e) + continue contact_mechanisms.insert(index, ContactMechanism( type=types[0], value=value)) party.contact_mechanisms = sequence_reorder(contact_mechanisms)