-
Notifications
You must be signed in to change notification settings - Fork 1
/
contact.py
76 lines (64 loc) · 2 KB
/
contact.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
class Contact:
def __init__(self, name, tels=[]):
# formatted name
self.fn = name
# tel on lista lisättävistä numeroista
self.tel = []
for phone_number in tels:
self.tel.append(str(phone_number))
# Tallennetaan listaan nimen osat hakutoimintoja varten.
self.search_string = name + "".join(self.tel)
def change_names(self, new_fn):
"""
Metodi nimen muuttamiseen.
:param new_fn: Asetettaa nimi
:return: None
"""
self.fn = new_fn
self.search_string = new_fn + "".join(self.tel)
def clear(self, tel=False, fn=False):
"""
Ikkunoiden päivityksessä käytettävä metodi, joka
mahdollistaa "ylikirjoituksen."
:param tel:
:return:
"""
if tel:
self.tel.clear()
if fn:
self.fn = ""
def add(self, param):
"""
:param param: Puhelinnumero merkkijonona
:return: False, jos oli duplikaatti, None jos ei lisättävää ja
onnistuessa True.
"""
if param == "":
return
try:
# try-lohkoon toiminta, joka suoritetaan mikäli kyseessä on numero.
int(param[1:])
if param in self.tel:
return False
if "" in self.tel:
self.tel.remove("")
self.tel.append(param)
return True
except ValueError:
False
def remove_area_code(self):
"""
Poistaa suomalaisen suuntanumeron yhteystiedon puhelinnumeroista
ja tarkastaa duplikaatit pois.
:return: None
"""
old_list = self.tel
self.tel = []
index = 0
for number in old_list:
if number[:4] == "+358":
if "0" + number[4:] not in self.tel:
self.tel.append("0" + number[4:])
elif number not in self.tel:
self.tel.append(number)
index += 1