Skip to content

Commit 628fa03

Browse files
committed
Debugging
1 parent 96bed36 commit 628fa03

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

Week05/emails_tarik_bozgan.py

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
11
class Emails(list):
2-
def __init__(self, emails):
3-
# Tekrarlayan elemanları temizlemek için set kullanıyoruz
4-
# test_validate_duplicates testi bunu gerektiriyor.
5-
super().__init__(set(emails))
2+
def __init__(self, my_list):
3+
# Listeyi set'e çevirerek kopyaları temizliyoruz (test gereği)
4+
super().__init__(set(my_list))
5+
# HOCANIN TESTİ GEÇSİN DİYE BU SATIRI EKLİYORUZ:
6+
# Test '.data' özelliğini arıyor, biz de kendisini (self) gösteriyoruz.
7+
self.data = self
68
self.validate()
79

810
def validate(self):
9-
for email in self:
10-
# Sadece string veri tipine izin ver
11-
if not isinstance(email, str):
12-
raise ValueError("Only strings are allowed")
13-
14-
# Basit e-posta format kontrolü: '@' ve sonrasında '.' olmalı
15-
if "@" not in email:
16-
raise ValueError("Invalid email: missing @")
17-
18-
domain = email.split("@")[-1]
19-
if "." not in domain:
20-
raise ValueError("Invalid email: missing dot in domain")
11+
for item in self:
12+
if type(item) is not str:
13+
raise ValueError
14+
if "@" not in item:
15+
raise ValueError
16+
if "." not in item.split("@")[1]:
17+
raise ValueError
2118

2219
def __repr__(self):
23-
# Sınıfın string temsili: Emails(['a@b.com', ...]) formatında
24-
return f"Emails({super().__repr__()})"
20+
return "Emails(" + super().__repr__() + ")"
2521

2622
def __str__(self):
2723
return self.__repr__()

0 commit comments

Comments
 (0)