Created
October 22, 2015 14:26
-
-
Save raphapassini/f4546e867037ab7f83e7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding:UTF-8 -*- | |
import sqlite3 | |
conn = sqlite3.connect('meubanco.db') | |
conn.text_factory = str | |
cursor = conn.cursor() | |
# cria a tabela no banco de dados | |
# é necessário um try pois depois da primeira | |
# execuçaõ do script a tabela já vai estar criada | |
try: | |
cursor.execute(""" | |
CREATE TABLE emprestimos | |
(aluno text, livro text, codigo text) | |
""") | |
except sqlite3.OperationalError: | |
pass | |
def insert(aluno, livro, codigo): | |
"""Insere um livro no sistema | |
Args: | |
aluno (str): Nome do aluno | |
livro (str): Titulo do livro | |
codigo (str): Codigo do livro | |
""" | |
sql = 'INSERT INTO emprestimos VALUES(?, ?, ?)' | |
try: | |
cursor.execute(sql, (aluno, livro, codigo)) | |
except Exception as e: | |
print "Ocorreu um erro ao salvar um emprestimo: {}".format(e) | |
return False | |
return True | |
def select(): | |
"""Retorna todos os livros cadastrados no sistema""" | |
sql = 'SELECT * FROM emprestimos' | |
try: | |
return cursor.execute(sql).fetchall() | |
except Exception: | |
print 'Ocorreu um erro ao consultar os emprestimos' | |
def devolve_livro(codigo): | |
"""Remove um livro da tabela de emprestimos | |
Args: | |
codigo (str): Codigo do livro que será removido | |
""" | |
sql = 'DELETE FROM emprestimos WHERE codigo=?' | |
try: | |
cursor.execute(sql, (codigo,)) | |
except Exception as e: | |
print e | |
print 'Ocorreu um erro ao devolver o livro' | |
def print_livros(): | |
"""Escreve na tela os livros cadastrados no sistema""" | |
print '\nLIVROS CADASTRADOS NO SISTEMA' | |
print '=============================\n' | |
data = select() | |
for livro in data: | |
print '{} - {} ({})'.format(livro[0], livro[1], livro[2]) | |
print '\n' | |
if __name__ == '__main__': | |
insert('Jose Fulano', 'Harry Potter e a Ordem da Fênix', '123456') | |
insert('Pedro Fulano', 'Harry Potter e o Cálice de Fogo', '789789') | |
insert('Beltrano Fulano', 'O Senhor dos Anéis: As duas Torres', '71811') | |
print_livros() | |
codigo = raw_input('Digite o código do livro devolvido: ') | |
devolve_livro(codigo) | |
print_livros() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment