-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontroles.py
127 lines (111 loc) · 3.96 KB
/
controles.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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import json
from contato import Contato
def printaBarra():
barra_size = 30
print('~'*barra_size)
def ler():
contatos = []
try:
with open('dados.json', 'r') as file:
agenda_externa = json.load(file)
for contato in agenda_externa:
print(agenda_externa[contato])
nome = agenda_externa[contato]['nome']
telefone = agenda_externa[contato]['telefone']
email = agenda_externa[contato]['email']
twitter = agenda_externa[contato]['twitter']
instagram = agenda_externa[contato]['instagram']
contact = adicionar(nome, telefone, email, twitter, instagram)
print(contact)
contatos.append(contact)
file.close()
return contatos
except FileNotFoundError:
gravar({})
return contatos
def gravar(listaDeContatos):
agenda = {}
contador = 0
for contato in listaDeContatos:
newContato = {}
newContato['nome'] = contato.getNome()
newContato['telefone'] = contato.getTelefone()
newContato['email'] = contato.getEmail()
newContato['twitter'] = contato.getTwitter()
newContato['instagram'] = contato.getInstagram()
agenda[contador] = newContato
contador += 1
with open('dados.json', 'w') as file:
json.dump(agenda, file, indent=2)
file.close()
def selecionaOpcao():
print('Cadastrar contato -> 1')
print('Buscar contato -> 2')
print('Apagar contato -> 3')
print('Atualizar contato -> 4')
print('Listar todos os contatos -> 5')
print('Sair -> 6\n')
option = input('Selecione uma opção: ')
return option
def adicionar(nome, telefone, email, twitter, instagram):
novo_contato = Contato(nome, telefone, email, twitter, instagram)
return novo_contato
def buscar(contatos, nome):
if len(contatos) != 0:
for contato in contatos:
if contato.getNome() == nome:
nome = contato.getNome()
telefone = contato.getTelefone()
email = contato.getEmail()
twitter = contato.getTwitter()
instagram = contato.getInstagram()
print(f'{nome} - {telefone}')
print(f'{email}')
print(f'{twitter} | {instagram}')
return
print('Contato não encontrado!')
else:
print('Lista está vazia!')
def deletarContato(contatos, nome):
if len(contatos) != 0:
contador = 0
for contato in contatos:
if contato.getNome() == nome:
contatos.pop(contador)
print(f'Contato {nome} removido com sucesso!')
return
contador += 1
print('Contato não encontrado!')
else:
print('Lista está vazia!')
def atualizar(contatos, nome):
if len(contatos) != 0:
for contato in contatos:
if contato.getNome() == nome:
print('Selecione um dado para ser atualizado:\n')
print('Nome -> 1')
print('Telefone -> 2')
print('Email -> 3')
print('Twitter -> 4')
print('Instagram -> 5')
while True:
dado = int(input())
if (dado == 1):
contato.setNome()
return
if (dado == 2):
contato.setTelefone()
return
if (dado == 3):
contato.setEmail()
return
if (dado == 4):
contato.setTwitter()
return
if (dado == 5):
contato.setInstagram()
return
print('Opção inválida!')
print('Contato não encontrado!')
else:
print('Lista está vazia!')