Skip to content

Instantly share code, notes, and snippets.

@raphapassini
Created October 22, 2015 14:26
Show Gist options
  • Save raphapassini/f4546e867037ab7f83e7 to your computer and use it in GitHub Desktop.
Save raphapassini/f4546e867037ab7f83e7 to your computer and use it in GitHub Desktop.
# -*- 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