Skip to content

Commit 7b3a853

Browse files
authored
Merge pull request #96 from emreozcan/master
Add emails_emre_ozcan.py
2 parents 8b692af + a4ed3c6 commit 7b3a853

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Week05/emails_emre_ozcan.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
class Emails(list):
3+
def __init__(self, addresses: list):
4+
for i, address in enumerate(addresses):
5+
if not self.validate(address):
6+
raise ValueError(f"invalid address {address!r} at index {i}")
7+
super().__init__(set(addresses))
8+
9+
def __repr__(self):
10+
return f"{self.__class__.__name__}({super().__repr__()})"
11+
12+
def __str__(self):
13+
return super().__str__()
14+
15+
@property
16+
def data(self):
17+
return self
18+
19+
@staticmethod
20+
def validate(address: str) -> bool:
21+
if not isinstance(address, str):
22+
raise ValueError("address must be a str")
23+
return "@" in address and "." in address

0 commit comments

Comments
 (0)