From c3c62027c1aa926cdae66b443b724fd18727539a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ege=20En=C3=A7?= <111919042+egeenc0@users.noreply.github.com> Date: Tue, 16 Dec 2025 13:04:31 +0300 Subject: [PATCH] Create emails_ege_enc.py --- Week05/emails_ege_enc.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Week05/emails_ege_enc.py diff --git a/Week05/emails_ege_enc.py b/Week05/emails_ege_enc.py new file mode 100644 index 00000000..061b97ab --- /dev/null +++ b/Week05/emails_ege_enc.py @@ -0,0 +1,24 @@ +class Emails(list): + def __init__(self, emails_list): + self.validate(emails_list) + unique_emails = list(dict.fromkeys(emails_list)) + super().__init__(unique_emails) + self.data = self + + def validate(self, emails_list): + for email in emails_list: + if not isinstance(email, str): + raise ValueError + + if "@" not in email: + raise ValueError + + parts = email.split("@") + if len(parts) != 2 or "." not in parts[1]: + raise ValueError + + def __repr__(self): + return f"Emails({super().__repr__()})" + + def __str__(self): + return super().__str__()