Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- from datetime import datetime
- from datetime import timedelta
- import mysql.connector
- print "SISTEMA DE BIBLIOTECA"
- print '----------------------------------------'
- clear = "\n" * 100
- ###########################################################################
- def cadastrarLivros():
- print "Cadastrando Livros\n"
- # Recebendo os dados do livro.
- titulo = raw_input("Insira o título do livro: ");
- nome_autor = raw_input("Insira o primeiro nome do autor: ");
- sob_autor = raw_input("Insira o sobrenome do autor: ");
- ano = raw_input("Insira o ano do livro: ");
- editora = raw_input("Insira o nome da editora: ")
- categoria = raw_input("Insira a categoria do livro: ");
- quantidade = input("Insira a quantidade de estoque: ");
- # Fazendo a conexão com o mySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- cursor = cnx.cursor()
- # Linha de inserção do SQL.
- queryLivros = ("INSERT INTO livros (titulo, quantidade, nome_autor, sob_autor, ano, editora, categoria) "
- "VALUES (%s, %s, %s, %s, %s, %s, %s)")
- # Variáveis.
- dadosLivros = (titulo, quantidade, nome_autor, sob_autor, ano, editora, categoria);
- # Executando a query com as variáveis.
- cursor.execute(queryLivros, dadosLivros);
- # Enviando para o banco de dados.
- cnx.commit();
- # Finalizando o processo e avisando ao usuário.
- cursor.close();
- cnx.close()
- print "= Livro cadastrado com sucesso! ="
- ###########################################################################
- ###########################################################################
- def cadastrarAlunos():
- print "Cadastrando Alunos\n"
- # Recebendo os dados do usuário.
- nomeCompleto = raw_input("Insira o nome completo do aluno: ")
- idade = input("Insira a idade do aluno: ")
- CPF = input("Informe o CPF do aluno: ")
- matricula = raw_input("Informe o número de matrícula do aluno: ")
- senha = raw_input("Informe uma senha para o aluno: ")
- dataDeCadastro = datetime.now()
- # Fazendo a conexão com o mySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- cursor = cnx.cursor()
- # Query da conta do aluno.
- queryConta = ("INSERT INTO conta (login, senha, tipo) VALUES (%s, %s, %s)")
- dadosConta = (matricula, senha, 2);
- # Executando a query com as variáveis.
- cursor.execute(queryConta, dadosConta);
- # Enviando para o banco de dados.
- cnx.commit();
- # Query pra pegar o ID da conta que acabou de ser cadastrada.
- cursor.execute('SELECT * from conta where login="' + matricula + '"');
- row = cursor.fetchone()
- # Pegando o ID da conta.
- contaAlunoID = row[0];
- # Linha de inserção do SQL.
- queryAluno = ("INSERT INTO aluno (nomecompleto, idade, cpf, datadecadastro, contaid) VALUES (%s, %s, %s, %s, %s)")
- # Variáveis.
- dadosAluno = (nomeCompleto, idade, CPF, dataDeCadastro, contaAlunoID);
- # Executando a query com as variáveis.
- cursor.execute(queryAluno, dadosAluno);
- # Enviando para o banco de dados.
- cnx.commit();
- # Finalizando o processo e avisando ao usuário.
- cursor.close();
- cnx.close()
- print clear
- print "= Aluno cadastrado com sucesso! ="
- ###########################################################################
- ###########################################################################
- def listarAlunos():
- # Criando a conexão com o MySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- # Criando um cursor (buffered pois não sei o porque)
- cursor = cnx.cursor(buffered=True);
- query = 'SELECT * FROM aluno';
- cursor.execute(query);
- for aluno in cursor:
- print "================="
- print "Nome Completo: " + aluno[1];
- print "Idade: " + aluno[2];
- print "CPF: " + aluno[3];
- print "Data de Cadastro: " + str(aluno[4]);
- cursor.close()
- cnx.close()
- print "================="
- escolha = input("Digite qualquer coisa para voltar: ");
- print clear
- ###########################################################################
- ###########################################################################
- def emprestarLivro():
- print "- Livros disponíveis: -"
- # Criando a conexão com o MySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- # Criando um cursor (buffered pois não sei o porque)
- cursor = cnx.cursor(buffered=True);
- cursor.execute("SELECT * FROM livros")
- for livro in cursor:
- print "=================";
- print "ID: " + str(livro[0]);
- print "Titulo: " + livro[1];
- print "Nome do Autor: " + livro[3] + " " + livro[4];
- print "Ano: " + livro[5];
- print "Editora: " + livro[6];
- print "Categoria: " + livro[7];
- print "Quantidade Disponível: " + str(livro[2]);
- print "=================";
- idLivro = raw_input("Insira o ID do livro que será emprestado: ");
- print clear
- cursor.execute("SELECT * FROM aluno");
- for aluno in cursor:
- print "================="
- print "ID: " + str(aluno[0])
- print "Nome Completo: " + aluno[1];
- print "Idade: " + aluno[2];
- print "CPF: " + aluno[3];
- print "Data de Cadastro: " + str(aluno[4]);
- print "=================";
- idAluno = raw_input("Insira o ID do aluno que terá o livro emprestado: ")
- # Linha de inserção do SQL.
- queryEmprestimo = ("INSERT INTO emprestimo (idaluno, idlivro, idadmin, dataemprestimo, dataentrega) VALUES (%s, %s, %s, %s, %s)")
- # Variáveis.
- # OBS: DATA DA ENTREGA = DATA ATUAL + 7 DIAS
- dadosEmprestimo = (idAluno, idLivro, contaID, datetime.now(), datetime.now()+ timedelta(days=7));
- cursor.execute("select * from livros where id=" + idLivro)
- row = cursor.fetchone();
- if (row[2] > 0):
- quantidade = int(row[2]) - 1;
- cursor.execute("update livros set quantidade=" + str(quantidade) + " where id=" + str(idLivro))
- cursor.execute(queryEmprestimo, dadosEmprestimo);
- cnx.commit()
- cursor.close()
- cnx.close()
- print clear
- print "= Empréstimo realizado com sucesso! ="
- else:
- print clear
- print "= O livro selecionado está fora de estoque ="
- ###########################################################################
- ###########################################################################
- def listarEmprestimos():
- # Criando a conexão com o MySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- # Criando um cursor (buffered pois não sei o porque)
- cursor = cnx.cursor(buffered=True);
- cursor2 = cnx.cursor()
- cursor.execute("SELECT * FROM emprestimo")
- for emprestimo in cursor:
- cursor2.execute("SELECT * from aluno where id=" + str(emprestimo[1]))
- row = cursor2.fetchone()
- print "================="
- print "Aluno: " + row[1]
- cursor2.execute("SELECT * from livros where id=" + str(emprestimo[2]))
- row = cursor2.fetchone()
- print "Livro: " + row[1]
- print "Data de Empréstimo: " + str(emprestimo[4])
- print "Data de Entrega: " + str(emprestimo[5])
- cursor2.execute("SELECT * from admin where id=" + str(emprestimo[3]))
- row = cursor2.fetchone()
- print "Administrador Responsavel: " + row[1]
- if (datetime.now() > emprestimo[5]):
- print "SITUAÇÃO: Entrega atrasada!";
- elif (datetime.now() < emprestimo[5]):
- print "SITUAÇÃO: Normal.";
- else:
- print "SITUAÇÃO: O livro deve ser entregue hoje!"
- print "================="
- input("Insira qualquer coisa para continuar: ")
- print clear
- ###########################################################################
- ###########################################################################
- def listarLivros():
- # Criando a conexão com o MySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- # Criando um cursor (buffered pois não sei o porque)
- cursor = cnx.cursor(buffered=True);
- cursor.execute("SELECT * from livros")
- for livro in cursor:
- print "=================";
- print "ID: " + str(livro[0]);
- print "Titulo: " + livro[1];
- print "Nome do Autor: " + livro[3] + " " + livro[4];
- print "Ano: " + livro[5];
- print "Editora: " + livro[6];
- print "Categoria: " + livro[7];
- print "Quantidade Disponível: " + str(livro[2]);
- print "=================";
- raw_input("Insira qualquer coisa para retornar: ");
- print clear
- ###########################################################################
- ###########################################################################
- def alunoListarEmprestimos():
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- cursor = cnx.cursor();
- cursor2 = cnx.cursor();
- cursor.execute("select * from emprestimo where idaluno=" + str(alunoID))
- for emprestimo in cursor:
- print "================="
- cursor2.execute("SELECT * from livros where id=" + str(emprestimo[2]))
- row = cursor2.fetchone()
- print "Livro: " + row[1]
- print "Data de Empréstimo: " + str(emprestimo[4])
- print "Data de Entrega: " + str(emprestimo[5])
- cursor2.execute("SELECT * from admin where id=" + str(emprestimo[3]))
- row = cursor2.fetchone()
- print "Administrador Responsavel: " + row[1]
- if (datetime.now() > emprestimo[5]):
- print "SITUAÇÃO: Entrega atrasada!";
- elif (datetime.now() < emprestimo[5]):
- print "SITUAÇÃO: Normal.";
- else:
- print "SITUAÇÃO: O livro deve ser entregue hoje!"
- print "================="
- input("Insira qualquer coisa para continuar: ")
- cursor.close()
- cursor2.close()
- cnx.close()
- print clear
- ###########################################################################
- ###########################################################################
- def devolverLivros():
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- cursor = cnx.cursor(buffered=True);
- cursor2 = cnx.cursor(buffered=True);
- cursor.execute("select * from emprestimo where idaluno=" + str(alunoID))
- for emprestimo in cursor:
- print "================="
- cursor2.execute("SELECT * from livros where id=" + str(emprestimo[2]))
- row = cursor2.fetchone()
- print "ID: " + str(emprestimo[0])
- print "Livro: " + row[1]
- print "Data de Empréstimo: " + str(emprestimo[4])
- print "Data de Entrega: " + str(emprestimo[5])
- cursor2.execute("SELECT * from admin where id=" + str(emprestimo[3]))
- row = cursor2.fetchone()
- print "Administrador Responsavel: " + row[1]
- if (datetime.now() > emprestimo[5]):
- print "SITUAÇÃO: Entrega atrasada!";
- elif (datetime.now() < emprestimo[5]):
- print "SITUAÇÃO: Normal.";
- else:
- print "SITUAÇÃO: O livro deve ser entregue hoje!"
- print "================="
- emprestimoId = raw_input("Selecione o ID do emprestimo à ser devolvido: ");
- cursor.execute("select * from emprestimo where id=" + emprestimoId)
- row = cursor.fetchone();
- livroID = row[2];
- cursor.execute("select * from livros where id=" + str(livroID));
- row = cursor.fetchone();
- quantidade = row[2] + 1;
- cursor.execute("update livros set quantidade=" + str(quantidade) + " where id=" + str(livroID))
- cursor.execute("delete from emprestimo where id=" + emprestimoId);
- cnx.commit()
- cursor.close()
- cursor2.close()
- cnx.close()
- print clear
- print "= Empréstimo devolvido com sucesso! ="
- ######################################################################################
- # Recebendo os dados do usuário.
- print clear
- loginUser = raw_input("Insira o seu login: ")
- senhaUser = raw_input("Insira sua senha: ")
- tipo = 0;
- loginUser = loginUser;
- # Criando a conexão com o MySQL.
- cnx = mysql.connector.connect(user='root', password='', host='localhost', database='bibliotecapython')
- # Criando um cursor (buffered pois não sei o porque)
- cursor = cnx.cursor(buffered=True);
- cursor.execute('SELECT * FROM conta where login="' + loginUser + '"');
- contaID = 0;
- # Caso exista alguma conta com esse login.
- if (cursor.rowcount > 0):
- row = cursor.fetchone()
- # Caso a senha esteja correta.
- if (senhaUser == row[2]):
- # Caso o tipo da conta seja administrador.
- if (row[3] == 1):
- # Pegando o ID da conta para pegar os dados do admin.
- contaID = row[0];
- query = 'SELECT * FROM admin where contaid=' + str(contaID) + '';
- cursor.execute(query);
- row = cursor.fetchone();
- # "Limpando" o console.
- print clear
- print "\nVocê está logado com sucesso! -", row[1];
- print "---------------------------------------"
- # Variável de escolha.
- escolha = 9999
- while (escolha != 0):
- # Sistema de escolhas.
- print "Escolha uma opção:"
- print "1 - Cadastrar Livros"
- print "2 - Cadastrar Alunos"
- print "3 - Listar Alunos"
- print "4 - Emprestar Livros"
- print "5 - Listar Empréstimos de Livros"
- print "6 - Listar Livros"
- print "0 - Cancelar"
- escolha = input("Escolha: ")
- # Caso o usuário escolha cadastrar livros.
- if (escolha == 1):
- print "--------------------------------------"
- print clear
- cadastrarLivros()
- print "--------------------------------------"
- # Caso o usuário escolha cadastrar usuários.
- elif (escolha == 2):
- print "--------------------------------------"
- print clear
- cadastrarAlunos()
- print "---------------------------------------"
- # Caso o usuário escolha listar os usuários cadastrados.
- elif (escolha == 3):
- print clear
- listarAlunos()
- print "--------------------------------------"
- # Caso o usuário escolha alocar um livro.
- elif (escolha == 4):
- print clear
- emprestarLivro()
- print "--------------------------------------"
- # Caso o usuário escolha listar as locações.
- elif (escolha == 5):
- print clear
- listarEmprestimos()
- print "--------------------------------------"
- # Caso o usuário escolha listar os livros.
- elif (escolha == 6):
- print clear
- listarLivros()
- print "--------------------------------------"
- # Caso o usuário selecione sair do app.
- elif (escolha == 0):
- print clear
- cursor.close();
- cnx.close()
- # Se o usuário for um aluno.
- elif(row[3] == 2):
- # Pegando o ID da conta para pegar os dados do admin.
- contaID = row[0];
- query = 'SELECT * FROM aluno where contaid=' + str(contaID) + '';
- cursor.execute(query);
- row = cursor.fetchone();
- # Usaremos esse ID em alguns métodos.
- alunoID = row[0];
- print clear
- print "\nVocê está logado com sucesso! -", row[1];
- print "---------------------------------------"
- # Variável de escolha.
- escolha = 9999
- while (escolha != 0):
- # Sistema de escolhas.
- print "Escolha uma opção:"
- print "1 - Listar Empréstimos de Livros"
- print "2 - Devolver Livros"
- print "0 - Cancelar"
- escolha = input("Escolha: ")
- # Caso o aluno escolha listar os empréstimos de livros.
- if (escolha == 1):
- print clear
- alunoListarEmprestimos()
- print "--------------------------------------"
- # Caso o usuário escolha devolver livros.
- elif (escolha == 2):
- print clear
- devolverLivros()
- print "--------------------------------------"
- elif (escolha == 0):
- print clear
- cursor.close();
- cnx.close()
- else:
- print "\nSua senha está incorreta."
- print "----------------------------------"
- else:
- print "\nSeu e-mail não está cadastrado."
- print "--------------------------------------"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement