From 88eb1f39de33581a52f69dad007ba096335db0ef Mon Sep 17 00:00:00 2001 From: Polieter Date: Mon, 18 Jun 2018 23:33:37 +0200 Subject: [PATCH] Update exercise-1.py --- exercise-1.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/exercise-1.py b/exercise-1.py index 1323c1b..d944c09 100644 --- a/exercise-1.py +++ b/exercise-1.py @@ -22,11 +22,22 @@ class Person: def __init__(self, first_name, last_name, email): assert isinstance(first_name, str) assert isinstance(last_name, str) - assert isinstance(email, str) - + assert isinstance(email, Email) + self.first_name = first_name self.last_name = last_name - if EMAIL_PATTERN.match(email) is None: + self.email = email() + + +class Email: + def __init__(self, email): + assert isinstance(email, str) + self.email = email + self.validate() + + def __call__(self): + return self.email + + def validate(self): + if EMAIL_PATTERN.match(self.email) is None: raise ValueError('Invalid email') - else: - self.email = email