-
Notifications
You must be signed in to change notification settings - Fork 0
/
biblioteca.py
125 lines (102 loc) · 7.04 KB
/
biblioteca.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
class Biblioteca():
def __init__(self, gerente):
self.gerente = gerente
self.banco_dados_usuarios = []
self.livro_emprestado = []
self._livros_cadastrados = [
{'Codigo do Livro': '0001', 'titulo': 'Dom Quixote', 'ano': '1605', 'autor': 'Miguel de Cervantes', 'genero': 'Romance'},
{'Codigo do Livro': '0032', 'titulo': 'A Guerra dos Tronos', 'ano': '1996', 'autor': 'George R.R. Martin', 'genero': 'Fantasia'},
{'Codigo do Livro': '0078', 'titulo': 'Orgulho e Preconceito', 'ano': '1813', 'autor': 'Jane Austen', 'genero': 'Romance Clássico'},
{'Codigo do Livro': '0234', 'titulo': 'O Senhor dos Anéis: A Sociedade do Anel', 'ano': '1954', 'autor': 'J.R.R. Tolkien', 'genero': 'Fantasia'},
{'Codigo do Livro': '0321', 'titulo': 'Cem Anos de Solidão', 'ano': '1967', 'autor': 'Gabriel García Márquez', 'genero': 'Mágico'},
{'Codigo do Livro': '0567', 'titulo': 'O Pequeno Príncipe', 'ano': '1943', 'autor': 'Antoine de Saint-Exupéry', 'genero': 'Literatura'},
{'Codigo do Livro': '0809', 'titulo': 'A Revolução dos Bichos', 'ano': '1945', 'autor': 'George Orwell', 'genero': 'Ficção'},
{'Codigo do Livro': '1098', 'titulo': 'O Alquimista', 'ano': '1988', 'autor': 'Paulo Coelho', 'genero': 'Ficção'},
{'Codigo do Livro': '1543', 'titulo': 'O Retrato de Dorian Gray', 'ano': '1890', 'autor': 'Oscar Wilde', 'genero': 'Ficção'},
{'Codigo do Livro': '2015', 'titulo': '1984', 'ano': '1949', 'autor': 'George Orwell', 'genero': 'Ficção'},
{'Codigo do Livro': '2356', 'titulo': 'Harry Potter e a Pedra Filosofal', 'ano': '1997', 'autor': 'J.K. Rowling', 'genero': 'Fantasia'},
]
#-------------------------------------------------------------------------------------------------------------------------------
self._estoque = [
{'Codigo do Livro': '0001', 'titulo': 'Dom Quixote', 'ano': '1605', 'autor': 'Miguel de Cervantes', 'genero': 'Romance'},
{'Codigo do Livro': '0032', 'titulo': 'A Guerra dos Tronos', 'ano': '1996', 'autor': 'George R.R. Martin', 'genero': 'Fantasia'},
{'Codigo do Livro': '0078', 'titulo': 'Orgulho e Preconceito', 'ano': '1813', 'autor': 'Jane Austen', 'genero': 'Romance Clássico'},
{'Codigo do Livro': '0234', 'titulo': 'O Senhor dos Anéis: A Sociedade do Anel', 'ano': '1954', 'autor': 'J.R.R. Tolkien', 'genero': 'Fantasia'},
{'Codigo do Livro': '0321', 'titulo': 'Cem Anos de Solidão', 'ano': '1967', 'autor': 'Gabriel García Márquez', 'genero': 'Mágico'},
{'Codigo do Livro': '0567', 'titulo': 'O Pequeno Príncipe', 'ano': '1943', 'autor': 'Antoine de Saint-Exupéry', 'genero': 'Literatura'},
{'Codigo do Livro': '0809', 'titulo': 'A Revolução dos Bichos', 'ano': '1945', 'autor': 'George Orwell', 'genero': 'Ficção'},
{'Codigo do Livro': '1098', 'titulo': 'O Alquimista', 'ano': '1988', 'autor': 'Paulo Coelho', 'genero': 'Ficção'},
{'Codigo do Livro': '1543', 'titulo': 'O Retrato de Dorian Gray', 'ano': '1890', 'autor': 'Oscar Wilde', 'genero': 'Ficção'},
{'Codigo do Livro': '2015', 'titulo': '1984', 'ano': '1949', 'autor': 'George Orwell', 'genero': 'Ficção'},
{'Codigo do Livro': '0001', 'titulo': 'Dom Quixote', 'ano': '1605', 'autor': 'Miguel de Cervantes', 'genero': 'Romance'},
{'Codigo do Livro': '0032', 'titulo': 'A Guerra dos Tronos', 'ano': '1996', 'autor': 'George R.R. Martin', 'genero': 'Fantasia'}
]
#-------------------------------------------------------------------------------------------------------------------------------
def cadastrar_cliente(self, nome, idade):
cliente = {
"Nome" : nome,
"Idade" : idade,
}
self.banco_dados_usuarios.append(cliente)
return
#-------------------------------------------------------------------------------------------------------------------------------
@property
def cliente(self):
return self.banco_dados_usuarios
#-------------------------------------------------------------------------------------------------------------------------------
def cadastrar_livro(self, codigo, titulo, ano, autor, genero):
livro = {
"Codigo do Livro" : codigo,
"titulo": titulo,
"ano": ano,
"autor": autor,
"genero": genero
}
self._livros_cadastrados.append(livro)
self._estoque.append(livro)
return
#-------------------------------------------------------------------------------------------------------------------------------
def emprestar_livro(self, titulo, nome):
usuario_encontrado = False
livro_cadastrado = False
for usario in self.banco_dados_usuarios:
if usario["Nome"] == nome:
usuario_encontrado = True
if usuario_encontrado == True:
for livro_pesquisado in self._livros_cadastrados:
if livro_pesquisado["titulo"] == titulo:
livro_cadastrado = True
if livro_cadastrado == True:
for livro_disponivel in self._estoque:
if livro_disponivel["titulo"] == titulo:
emprestimo = {
"Livro" : livro_disponivel,
"Usuario" : nome
}
self.livro_emprestado.append(emprestimo)
self._estoque.remove(livro_disponivel)
print(f"Pronto! O livro: {titulo} foi emprestado para {nome}")
else:
print(f"O livro: {titulo} não está no nosso sistema.")
else:
print(f"O usuario {nome} não esta cadastrado no nosso sistema.")
#-------------------------------------------------------------------------------------------------------------------------------
def devolver_livro(self, codigo):
for livro in self.livro_emprestado:
if (livro['Livro']['Codigo do Livro'] == codigo):
self.livro_emprestado.remove(livro)
self._estoque.append(livro["Livro"])
return
#-------------------------------------------------------------------------------------------------------------------------------
def pesquisar_livros(self, categoria, conteudo):
for livro in self._livros_cadastrados:
if livro[categoria] == conteudo:
print("Livro: {}".format(livro["titulo"]))
#-------------------------------------------------------------------------------------------------------------------------------
gerente = Biblioteca('Juan')
gerente.cadastrar_cliente("Pedro", "18")
gerente.cadastrar_livro("1518","Frankenstein", "1998", "Mary Shelley", "Suspense")
print(gerente.emprestar_livro("Juan", "Pedro"))
print(gerente.devolver_livro("1518"))
print(gerente.pesquisar_livros('genero',"Ficção"))
print(gerente.cliente)