From 4dd0a0fb23c8ab2e510b1861bccb8acf87589e68 Mon Sep 17 00:00:00 2001 From: Sergenops Date: Mon, 9 Nov 2026 18:55:02 +0300 Subject: [PATCH] Add EmailList class for email validation Implement EmailList class to manage a list of email addresses with validation. --- Week05/emails_sergen_maksutlar.py | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Week05/emails_sergen_maksutlar.py diff --git a/Week05/emails_sergen_maksutlar.py b/Week05/emails_sergen_maksutlar.py new file mode 100644 index 00000000..1523f9ef --- /dev/null +++ b/Week05/emails_sergen_maksutlar.py @@ -0,0 +1,32 @@ +class EmailList(list): + + def __init__(self, emails=None): + super().__init__() + self.data = self + + if emails: + self.check_emails(emails) + + def check_emails(self, email_list): + + for email in email_list: + + if not isinstance(email, str): + raise ValueError("Only string values are allowed") + + if "@" not in email: + raise ValueError("Email address is not valid") + + domain = email.split("@", 1)[1] + + if "." not in domain: + raise ValueError("Email address is not valid") + + if email not in self: + self.append(email) + + def __repr__(self): + return f"EmailList({list.__repr__(self)})" + + def __str__(self): + return list.__str__(self)