class Controle_tela_cliente(): '''Classe para controlar a tela do cliente depois de feito o login''' def __init__(self): self.tela_cliente = Tela_cliente() self.bd_cliente = ClienteDAO() self.bd_emprestimo = EmprestimoDAO() self.current_livro = Livro() self.selected_livro = None def sair(self): '''metodo para sair da tela''' self.bd_cliente.close() self.bd_emprestimo.close() self.tela_cliente.janela.destroy() Controle_tela_cliente_login().start() def __fill_current_livro(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_livro.id_livro = self.tela_cliente.ent_id_livro.get() self.current_livro.nome = self.tela_cliente.ent_nome_livro.get() self.current_livro.genero = self.tela_cliente.ent_genero_livro.get() self.current_livro.autor = self.tela_cliente.ent_autor_livro.get() self.current_livro.area = self.tela_cliente.ent_area_livro.get() self.current_livro.editora = self.tela_cliente.ent_editora_livro.get() self.current_livro.edicao = self.tela_cliente.ent_edicao_livro.get() def __fill_current_livro_cliente(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_livro.id_livro = self.tela_cliente.ent_id_livro_cliente.get() def pesquisar_livro(self): '''metodo para pesquisar livros da biblioteca''' self.tela_cliente.list.delete(0, END) self.__fill_current_livro() try: rows = self.bd_cliente.search_livro(self.current_livro) for r in rows: self.tela_cliente.list.insert(END, r) except Exception as e: print(e) def ver_livros(self): '''metodo para ver os livros que o cliente possui''' self.tela_cliente.list_cliente.delete(0, END) self.login = login_globlal try: rows = self.bd_emprestimo.search_cliente_ver_livro_emprestado(self.login) for r in rows: self.tela_cliente.list_cliente.insert(END, r[:8]) except Exception as e: print(e) def get_selected_row_livro(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_cliente.list_cliente.curselection(): index = self.tela_cliente.list_cliente.curselection()[0] self.selected_livro = self.tela_cliente.list_cliente.get(index) self.tela_cliente.ent_id_livro_cliente.delete(0, END) self.tela_cliente.ent_id_livro_cliente.insert(END, self.selected_livro[1]) def ver_prazo(self):#### '''metodo para cliente ver o prazo de devoluçao''' self.__fill_current_livro_cliente() try: if(self.current_livro.id_livro == ''): tkinter.messagebox.showinfo('Aviso!', 'PRENCHA O CAMPO ID !') else: rows = self.bd_emprestimo.search_cliente_ver_livro_emprestado_prazo(self.current_livro) if (rows == []): tkinter.messagebox.showinfo('Aviso!', 'ID DO LIVRO ERRADO!') else: tkinter.messagebox.showinfo('PRAZO DE DEVOLUÇÃO', 'LIVRO {}!\nNome: {} \nAutor: {}\nArea: {}\nData de emprestimo: {}\nData de devoluçao: {}' .format(self.current_livro.id_livro, rows[0][2], rows[0][4], rows[0][5], rows[0][9], rows[0][10])) except Exception as e: print(e) def start(self): '''Inicia a tela do cliente e os eventos dos botoes''' self.tela_cliente.list_cliente.bind('<<ListboxSelect>>', self.get_selected_row_livro) self.tela_cliente.btn_pesquisar.configure(command = self.pesquisar_livro) self.tela_cliente.btn_ver_livros.configure(command = self.ver_livros) self.tela_cliente.btn_ver_prazo.configure(command = self.ver_prazo)#### self.tela_cliente.btn_sair.configure(command = self.sair) self.tela_cliente.iniciar()
class Controle_tela_administrador(): '''Classe para controlar a tela do administrador depois de feito o login''' def __init__(self): self.tela_administrador = Tela_administrador() self.bd_bibli = BibliotecarioDAO() self.bd_emprestimo = EmprestimoDAO() self.selected = None self.current_bibliotecario = Bibliotecario() def __fill_current_bibliotecario(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_bibliotecario.nome = self.tela_administrador.ent_nome_bibliotecario.get() self.current_bibliotecario.sobrenome = self.tela_administrador.ent_sobrenome_bibliotecario.get() self.current_bibliotecario.cpf = self.tela_administrador.ent_cpf_bibliotecario.get() self.current_bibliotecario.login = self.tela_administrador.ent_login_bibliotecario.get() self.current_bibliotecario.senha = self.tela_administrador.ent_senha_bibliotecario.get() self.current_bibliotecario.email = self.tela_administrador.ent_email_bibliotecario.get() def criar_acesso_bibliotecario(self): '''metodo para criar acesso do bibliotecario no sistema''' self.__fill_current_bibliotecario() self.bd_bibli.insert(self.current_bibliotecario) self.ver_todos_bibliotecario() def get_selected_row(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_administrador.list_bibliotecario.curselection(): index = self.tela_administrador.list_bibliotecario.curselection()[0] self.selected = self.tela_administrador.list_bibliotecario.get(index) self.tela_administrador.ent_nome_bibliotecario.delete(0, END) self.tela_administrador.ent_nome_bibliotecario.insert(END, self.selected[1]) self.tela_administrador.ent_sobrenome_bibliotecario.delete(0, END) self.tela_administrador.ent_sobrenome_bibliotecario.insert(END, self.selected[2]) self.tela_administrador.ent_cpf_bibliotecario.delete(0, END) self.tela_administrador.ent_cpf_bibliotecario.insert(END, self.selected[3]) self.tela_administrador.ent_email_bibliotecario.delete(0, END) self.tela_administrador.ent_email_bibliotecario.insert(END, self.selected[4]) self.tela_administrador.ent_login_bibliotecario.delete(0, END) self.tela_administrador.ent_login_bibliotecario.insert(END, self.selected[5]) self.tela_administrador.ent_senha_bibliotecario.delete(0, END) self.tela_administrador.ent_senha_bibliotecario.insert(END, self.selected[6]) def voltar_tela(self): '''metodo para sair da tela''' self.bd_bibli.close() self.bd_emprestimo.close() self.tela_administrador.janela.destroy() Controle_tela_administrador_login().start() def retirar_acesso_bibliotecario(self): '''metodo para retirar acesso do bibliotecario no sistema''' id = self.selected[0] self.bd_bibli.delete(id) self.ver_todos_bibliotecario() def ver_todos_bibliotecario(self): '''metodo que visualiza todos o bibliotecario''' try: rows = self.bd_bibli.view() self.tela_administrador.list_bibliotecario.delete(0, END) for r in rows: self.tela_administrador.list_bibliotecario.insert(END, r) except Exception as e: print(e) def ver_todos_livro_atrasados(self): '''metodo para vizualizar todos os livros que nao foram entregues no prazo''' data = date.today() data_atual = data.toordinal() try: rows = self.bd_emprestimo.view() self.tela_administrador.list_atraso.delete(0, END) if (rows != []): formatacao = [] msg = ("Id do livro") formatacao.append('{:16}'.format(msg)) msg = ("Devolucao") formatacao.append('{:20}'.format(msg)) msg = ("Login") formatacao.append('{:20}'.format(msg)) self.tela_administrador.list_atraso.insert(END, formatacao) for r in rows: data_devoluçao = r[11] if (data_atual > data_devoluçao): list_atraso = [] msg = (r[1]) list_atraso.append('{:20}'.format(msg)) msg = (r[10]) list_atraso.append('{:20}'.format(msg)) msg = (r[8]) list_atraso.append('{:20}'.format(msg)) self.tela_administrador.list_atraso.insert(END, list_atraso) else: tkinter.messagebox.showinfo('Aviso!', 'NENHUM LIVRO FOI EMPRESTADO!') except Exception as e: print(e) def start(self): '''Inicia a tela do administrador e os eventos dos botoes''' self.tela_administrador.list_bibliotecario.bind('<<ListboxSelect>>', self.get_selected_row) self.tela_administrador.btn_fechar.configure(command=self.voltar_tela) self.tela_administrador.btn_criar_acesso_bibliotecario.configure(command=self.criar_acesso_bibliotecario) self.tela_administrador.btn_retirar_acesso_bibliotecario.configure(command=self.retirar_acesso_bibliotecario) self.tela_administrador.btn_ver_todos_bibliotecario.configure(command=self.ver_todos_bibliotecario) self.tela_administrador.btn_visualizar.configure(command=self.ver_todos_livro_atrasados) self.tela_administrador.iniciar()
class Controle_tela_bibliotecario(): '''Classe para controlar a tela do bibliotecario depois de feito o login''' def __init__(self): self.tela_bibliotecario = Tela_bibliotecario() self.bd_livro = LivroDAO() self.selected_livro = None self.current_livro = Livro() self.bd_cliente = ClienteDAO() self.selected_cliente = None self.current_cliente = Cliente() self.bd_emprestimo = EmprestimoDAO() def fechar_janela(self): '''metodo para sair da tela''' self.bd_livro.close() self.bd_cliente.close() self.bd_emprestimo.close() self.tela_bibliotecario.janela.destroy() Controle_tela_bibliotecario_login().start() def emprestimo_devolucao(self): '''metodo para abrir janela de emprestimo e devoluçao de livro''' self.bd_livro.close() self.bd_cliente.close() self.tela_bibliotecario.janela.destroy() Controle_tela_emprestimo_devolucao().start() def criar_acesso_cliente(self): '''metodo para criar acesso do cliente no sistema''' id = self.selected_cliente[0] self.__fill_current_cliente() if (self.current_cliente.senha == ''): tkinter.messagebox.showinfo('Aviso!', 'SENHA NAO PODE SER VAZIA!') else: self.bd_cliente.update(id,self.current_cliente) self.ver_todos_cliente() def retirar_acesso_cliente(self): '''metodo para retirar acesso do cliente no sistema''' id = self.selected_cliente[0] self.__fill_current_cliente() if (self.current_cliente.nome == '' or self.current_cliente.sobrenome == '' or self.current_cliente.cpf == '' or self.current_cliente.email == '' or self.current_cliente.login == ''): tkinter.messagebox.showinfo('Aviso!', 'APAGUE APENAS A SENHA!') else: self.bd_cliente.update(id,self.current_cliente) self.ver_todos_cliente() def get_selected_row_cliente(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_bibliotecario.list_cliente.curselection(): index = self.tela_bibliotecario.list_cliente.curselection()[0] self.selected_cliente = self.tela_bibliotecario.list_cliente.get(index) self.tela_bibliotecario.ent_nome_cliente.delete(0, END) self.tela_bibliotecario.ent_nome_cliente.insert(END, self.selected_cliente[1]) self.tela_bibliotecario.ent_sobrenome_cliente.delete(0, END) self.tela_bibliotecario.ent_sobrenome_cliente.insert(END, self.selected_cliente[2]) self.tela_bibliotecario.ent_cpf_clienteo.delete(0, END) self.tela_bibliotecario.ent_cpf_clienteo.insert(END, self.selected_cliente[3]) self.tela_bibliotecario.ent_email_cliente.delete(0, END) self.tela_bibliotecario.ent_email_cliente.insert(END, self.selected_cliente[4]) self.tela_bibliotecario.ent_login_cliente.delete(0, END) self.tela_bibliotecario.ent_login_cliente.insert(END, self.selected_cliente[5]) self.tela_bibliotecario.ent_senha_cliente.delete(0, END) self.tela_bibliotecario.ent_senha_cliente.insert(END, self.selected_cliente[6]) def get_selected_row_livro(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_bibliotecario.list_livro.curselection(): index = self.tela_bibliotecario.list_livro.curselection()[0] self.selected_livro = self.tela_bibliotecario.list_livro.get(index) self.tela_bibliotecario.ent_id_livro.delete(0, END) self.tela_bibliotecario.ent_id_livro.insert(END, self.selected_livro[1]) self.tela_bibliotecario.ent_nome_livro.delete(0, END) self.tela_bibliotecario.ent_nome_livro.insert(END, self.selected_livro[2]) self.tela_bibliotecario.ent_genero_livro.delete(0, END) self.tela_bibliotecario.ent_genero_livro.insert(END, self.selected_livro[3]) self.tela_bibliotecario.ent_autor_livro.delete(0, END) self.tela_bibliotecario.ent_autor_livro.insert(END, self.selected_livro[4]) self.tela_bibliotecario.ent_area_livro.delete(0, END) self.tela_bibliotecario.ent_area_livro.insert(END, self.selected_livro[5]) self.tela_bibliotecario.ent_editora_livro.delete(0, END) self.tela_bibliotecario.ent_editora_livro.insert(END, self.selected_livro[6]) self.tela_bibliotecario.ent_edicao_livro.delete(0, END) self.tela_bibliotecario.ent_edicao_livro.insert(END, self.selected_livro[7]) def __fill_current_livro(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_livro.id_livro = self.tela_bibliotecario.ent_id_livro.get() self.current_livro.nome = self.tela_bibliotecario.ent_nome_livro.get() self.current_livro.genero = self.tela_bibliotecario.ent_genero_livro.get() self.current_livro.autor = self.tela_bibliotecario.ent_autor_livro.get() self.current_livro.area = self.tela_bibliotecario.ent_area_livro.get() self.current_livro.editora = self.tela_bibliotecario.ent_editora_livro.get() self.current_livro.edicao = self.tela_bibliotecario.ent_edicao_livro.get() def __fill_current_cliente(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_cliente.nome = self.tela_bibliotecario.ent_nome_cliente.get() self.current_cliente.sobrenome = self.tela_bibliotecario.ent_sobrenome_cliente.get() self.current_cliente.cpf = self.tela_bibliotecario.ent_cpf_clienteo.get() self.current_cliente.email = self.tela_bibliotecario.ent_email_cliente.get() self.current_cliente.login = self.tela_bibliotecario.ent_login_cliente.get() self.current_cliente.senha = self.tela_bibliotecario.ent_senha_cliente.get() def cadastro_livro(self): '''metodo para cadastrar livro no sistema''' self.__fill_current_livro() try: rows = self.bd_livro.search_livro_id(self.current_livro) if (rows != []): tkinter.messagebox.showinfo('Aviso!', 'ESSE ID JA FOI CADASTRADO!') else: self.bd_livro.insert(self.current_livro) self.ver_todos_livro() except Exception as e: print(e) def retirar_livro(self): '''metodo para retirar livro no sistema''' id = self.selected_livro[0] self.__fill_current_livro() try: rows = self.bd_emprestimo.verificar_emprestimo(self.current_livro) if (rows != []): tkinter.messagebox.showinfo('Aviso!', 'LIVRO ESTA EMPRESTADO!') else: self.bd_livro.delete(id) self.ver_todos_livro() except Exception as e: print(e) def ver_todos_livro(self): '''metodo que visualiza todos os livros''' try: rows = self.bd_livro.view() self.tela_bibliotecario.list_livro.delete(0, END) for r in rows: self.tela_bibliotecario.list_livro.insert(END, r) except Exception as e: print(e) def ver_todos_cliente(self): '''metodo para vizualizar todos os cliente''' try: rows = self.bd_cliente.view() self.tela_bibliotecario.list_cliente.delete(0, END) for r in rows: self.tela_bibliotecario.list_cliente.insert(END, r) except Exception as e: print(e) def start(self): '''Inicia a tela do bibliotecario e os eventos dos botoes''' self.tela_bibliotecario.list_livro.bind('<<ListboxSelect>>', self.get_selected_row_livro) self.tela_bibliotecario.list_cliente.bind('<<ListboxSelect>>', self.get_selected_row_cliente) self.tela_bibliotecario.btn_fechar.configure(command = self.fechar_janela) self.tela_bibliotecario.btn_realizar_emprestimo_devolucao.configure(command = self.emprestimo_devolucao) self.tela_bibliotecario.btn_criar_acesso_cliente.configure(command = self.criar_acesso_cliente) self.tela_bibliotecario.btn_retirar_acesso_cliente.configure(command = self.retirar_acesso_cliente) self.tela_bibliotecario.btn_ver_todos_cliente.configure(command = self.ver_todos_cliente) self.tela_bibliotecario.btn_cadastro_livro.configure(command = self.cadastro_livro) self.tela_bibliotecario.btn_retirar_livro.configure(command = self.retirar_livro) self.tela_bibliotecario.btn_ver_todos_livros.configure(command = self.ver_todos_livro) self.tela_bibliotecario.iniciar()
class Controle_tela_emprestimo_devolucao(): '''Classe para controlar a tela de emprestimo e devolucao do livro''' def __init__(self): self.tela_emprestimo_devolucao = Tela_emprestimo_devolucao() self.bd_cliente = ClienteDAO() self.bd_emprestimo = EmprestimoDAO() self.bd_livro = LivroDAO() self.selected = None self.current_cliente = Cliente() self.current_cliente_verifica = Cliente() self.current_livro = Livro() def __fill_current_cliente_login_senha_emprestimo(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_cliente_verifica.login = self.tela_emprestimo_devolucao.ent_login_cliente_emprestimo.get() self.current_cliente_verifica.senha = self.tela_emprestimo_devolucao.ent_senha_cliente_emprestimo.get() def __fill_current_cliente_emprestimo(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_cliente.login = self.tela_emprestimo_devolucao.ent_login_cliente_emprestimo.get() def __fill_current_livro_emprestimo(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_livro.id_livro = self.tela_emprestimo_devolucao.ent_id_livro_emprestimo.get() self.current_livro.nome = self.tela_emprestimo_devolucao.ent_nome_livro_emprestimo.get() self.current_livro.genero = self.tela_emprestimo_devolucao.ent_genero_livro_emprestimo.get() self.current_livro.autor = self.tela_emprestimo_devolucao.ent_autor_livro_emprestimo.get() self.current_livro.area = self.tela_emprestimo_devolucao.ent_area_livro_emprestimo.get() self.current_livro.editora = self.tela_emprestimo_devolucao.ent_editora_livro_emprestimo.get() self.current_livro.edicao = self.tela_emprestimo_devolucao.ent_edicao_livro_emprestimo.get() def __fill_current_cliente_devolucao(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_cliente.login = self.tela_emprestimo_devolucao.ent_login_cliente_devolucao.get() def __fill_current_livro_devolucao(self): '''metodo para pegar oque foi digitado nos widgets ENTRY da tela''' self.current_livro.id_livro = self.tela_emprestimo_devolucao.ent_id_livro_devolucao.get() def get_selected_row_emprestimo(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_emprestimo_devolucao.list_emprestimo.curselection(): index = self.tela_emprestimo_devolucao.list_emprestimo.curselection()[0] self.selected = self.tela_emprestimo_devolucao.list_emprestimo.get(index) self.tela_emprestimo_devolucao.ent_id_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_id_livro_emprestimo.insert(END, self.selected[1]) self.tela_emprestimo_devolucao.ent_nome_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_nome_livro_emprestimo.insert(END, self.selected[2]) self.tela_emprestimo_devolucao.ent_genero_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_genero_livro_emprestimo.insert(END, self.selected[3]) self.tela_emprestimo_devolucao.ent_autor_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_autor_livro_emprestimo.insert(END, self.selected[4]) self.tela_emprestimo_devolucao.ent_area_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_area_livro_emprestimo.insert(END, self.selected[5]) self.tela_emprestimo_devolucao.ent_editora_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_editora_livro_emprestimo.insert(END, self.selected[6]) self.tela_emprestimo_devolucao.ent_edicao_livro_emprestimo.delete(0, END) self.tela_emprestimo_devolucao.ent_edicao_livro_emprestimo.insert(END, self.selected[7]) def get_selected_row_devolucao(self, event): "método que seleciona na listbox e popula os campos de input" if self.tela_emprestimo_devolucao.list_devolucao.curselection(): index = self.tela_emprestimo_devolucao.list_devolucao.curselection()[0] self.selected = self.tela_emprestimo_devolucao.list_devolucao.get(index) self.tela_emprestimo_devolucao.ent_id_livro_devolucao.delete(0, END) self.tela_emprestimo_devolucao.ent_id_livro_devolucao.insert(END, self.selected[1]) self.tela_emprestimo_devolucao.ent_login_cliente_devolucao.delete(0, END) self.tela_emprestimo_devolucao.ent_login_cliente_devolucao.insert(END, self.selected[8]) def emprestimo(self): '''metodo que realiza o emprestimo do livro''' emprestimo = date.today() dataDevolucaoToordinal = emprestimo.toordinal()+7 devolucao = date.fromordinal(emprestimo.toordinal()+7) try: self.__fill_current_livro_emprestimo() self.__fill_current_cliente_emprestimo() self.__fill_current_cliente_login_senha_emprestimo() if(self.current_cliente_verifica.login == '' or self.current_cliente_verifica.senha == '' or self.current_livro.id_livro == ''): tkinter.messagebox.showinfo('Aviso!', 'PRENCHA OS CAMPOS !') else: rows1 = self.bd_cliente.search_login(self.current_cliente) rows2 = self.bd_emprestimo.search_livro_emprestimo(self.current_livro) rows3 = self.bd_emprestimo.verificar_emprestimo(self.current_livro) rows4 = self.bd_cliente.search(self.current_cliente_verifica) rows5 = self.bd_cliente.search_livro_cliente(self.current_cliente) if (rows1 == []): tkinter.messagebox.showinfo('Aviso!', 'LOGIN NAO ENCONTRADO!') elif (rows2 == []): tkinter.messagebox.showinfo('Aviso!', 'LIVRO NAO ENCONTRADO!') elif (rows3 != []): tkinter.messagebox.showinfo('Aviso!', 'LIVRO JA FOI EMPRESTADO!') elif (rows4 == []): tkinter.messagebox.showinfo('Aviso!', 'LOGIN E SENHA INCORRETOS!') elif (len(rows5) > 2): # [(0),(1),(2)] por isso len(rows5) > 2 tkinter.messagebox.showinfo('Aviso!', 'CLIENTE POSSUI 3 LIVRO, NAO PODE REALIZAR MAIS EMPRESTIMO') else: self.bd_emprestimo.insert(self.current_livro,self.current_cliente,emprestimo,devolucao,dataDevolucaoToordinal) tkinter.messagebox.showinfo('Aviso!', 'EMPRESTIMO CONCLUIDO!') except Exception as e: print(e) def obter_info_emprestimo(self): '''metodo para pesquisar livros disponivel para emprestimo''' self.tela_emprestimo_devolucao.list_emprestimo.delete(0, END) self.__fill_current_livro_emprestimo() try: if (self.current_livro.id_livro == ''): tkinter.messagebox.showinfo('Aviso!', 'PRENCHA O CAMPO ID!') rows1 = self.bd_emprestimo.verificar_emprestimo(self.current_livro) rows2 = self.bd_emprestimo.search_livro_emprestimo(self.current_livro) if (rows1 != []): tkinter.messagebox.showinfo('Aviso!', 'LIVRO JA FOI EMPRESTADO!') else: for r in rows2: self.tela_emprestimo_devolucao.list_emprestimo.insert(END, r) except Exception as e: print(e) def obter_info_devolucao(self): '''metodo para pesquisar livros emprestados''' self.tela_emprestimo_devolucao.list_devolucao.delete(0, END) self.__fill_current_cliente_devolucao() self.__fill_current_livro_devolucao() try: if(self.current_cliente.login == '' or self.current_livro.id_livro == ''): tkinter.messagebox.showinfo('Aviso!', 'PRENCHA OS CAMPOS !') else: rows = self.bd_emprestimo.search_livro_devolucao(self.current_livro,self.current_cliente) if (rows == []): tkinter.messagebox.showinfo('Aviso!', 'DADOS INVALIDOS !') for r in rows: self.tela_emprestimo_devolucao.list_devolucao.insert(END, r[:9]) except Exception as e: print(e) def devolucao(self): '''metodo que realiza a devoluçao do livro''' id = self.selected[0] self.bd_emprestimo.delete(id) self.tela_emprestimo_devolucao.list_devolucao.delete(0, END) tkinter.messagebox.showinfo('Aviso!', 'DEVOLUÇAO CONCLUIDA!') def sair(self): '''metodo para sair da tela''' self.bd_cliente.close() self.bd_emprestimo.close() self.bd_livro.close() self.tela_emprestimo_devolucao.janela.destroy() Controle_tela_bibliotecario().start() def start(self): '''Inicia a tela e os eventos dos botoes''' self.tela_emprestimo_devolucao.list_emprestimo.bind('<<ListboxSelect>>', self.get_selected_row_emprestimo) self.tela_emprestimo_devolucao.list_devolucao.bind('<<ListboxSelect>>', self.get_selected_row_devolucao) self.tela_emprestimo_devolucao.btn_sair.configure(command=self.sair) self.tela_emprestimo_devolucao.btn_emprestimo.configure(command=self.emprestimo) self.tela_emprestimo_devolucao.btn_devolucao.configure(command=self.devolucao) self.tela_emprestimo_devolucao.btn_obter_info_emprestimo.configure(command=self.obter_info_emprestimo) self.tela_emprestimo_devolucao.btn_obter_info_devolucao.configure(command=self.obter_info_devolucao) self.tela_emprestimo_devolucao.iniciar()