Пример #1
0
class EmailAddress:
    """Represents an email address, optionally with the person's name."""

    email_validator = EmailValidator()

    def __init__(self, email: str, name: str = ''):
        """Validate *email* and instantiate."""
        self.email_validator.validate_or_raise(email)
        self.email = email
        self.name = name

    def to_mailer(self) -> Union[str, Tuple[str, str]]:
        """Return either email or a 2-tuple (name, email)."""
        return (self.name, self.email) if self.name else self.email

    def __str__(self) -> str:
        return f'"{self.name}" <{self.email}>' if self.name else self.email
Пример #2
0
class EmailAddress:
    """Represents an email address, optionally with the person's name."""

    email_validator = EmailValidator()
    email: TEmailAddress
    name: TPersonsName

    def __init__(self,
                 email: TEmailAddress,
                 name: TPersonsName = TPersonsName("")):
        """Validate *email* and instantiate."""
        self.email_validator.validate_or_raise(email)
        self.__dict__["email"] = email  # avoid frozen dataclass error
        self.__dict__["name"] = name  # avoid frozen dataclass error

    def to_mailer(self) -> Union[str, Tuple[str, str]]:
        """Return either email or a 2-tuple (name, email)."""
        return (self.name, self.email) if self.name else self.email

    def __str__(self) -> str:
        return f'"{self.name}" <{self.email}>' if self.name else self.email