def listar_pessoas(): # criar uma lista de pessoas pessoas = [ Pessoa("Mariana Calculets", "Rua das Flores", "3521-1212"), Pessoa("Tiago da Silva", "Beco 9", "99322-1242") ] # obter o conteúdo da página de listagem de pessoas # fornecer a lista de pessoas para a página exibir as pessoas return render_template("listar_pessoas.html", lista=pessoas)
def incluir_pessoa(): # obter os parâmetros do formulário nome = request.args.get("nome") ender = request.args.get("endereco") tel = request.args.get("telefone") # criar uma pessoa nova = Pessoa(nome, ender, tel) # adicionar a pessoa na lista pessoas.append(nova) # encaminhar a resposta para uma página de exibição de mensagens return render_template('exibir_mensagem.html', mensagem="Pessoa inserida!")
def incluir_pessoa(): # preparar uma resposta otimista resposta = jsonify({"resultado": "ok", "detalhes": "ok"}) # receber as informações da nova pessoa dados = request.get_json() #(force=True) dispensa Content-Type na requisição try: # tentar executar a operação nova = Pessoa(**dados) # criar a nova pessoa db.session.add(nova) # adicionar no BD db.session.commit() # efetivar a operação de gravação except Exception as e: # em caso de erro... # informar mensagem de erro resposta = jsonify({"resultado":"erro", "detalhes":str(e)}) # adicionar cabeçalho de liberação de origem resposta.headers.add("Access-Control-Allow-Origin", "*") return resposta # responder!
def listar_pessoas(): # obter as pessoas do back-end resultado_requisicao = requests.get('http://localhost:5000/listar_pessoas') # dados json podem ser carregados em dicionários do python json_pessoas = resultado_requisicao.json() # inicializar uma lista do python pessoas_em_python = [] # percorrer as pessoas em json for p in json_pessoas: # criar uma pessoa passando as informações do dicionário pe = Pessoa(**p) # adicionar a pessoa convertida na lista de pessoas pessoas_em_python.append(pe) # fornecer a lista de pessoas para a página exibir as pessoas return render_template("listar-pessoas.html", listagem=pessoas_em_python)
def retornarPessoas(): # inicialização padrão retorno = [] try: # ler o arquivo json pessoas = json.load(open(caminho + arquivo)) # converter para lista de objetos for p in pessoas: nova = Pessoa(p['nome'], p['email'], p['telefone']) retorno.append(nova) except: pass # retornar return retorno
def incluirPessoa(novaPessoa): # padrão pessoas = [] try: # ler o arquivo json f = open(caminho + arquivo) tmp = json.load(f) for p in tmp: x = p['nome'] nova = Pessoa(x, p['email'], p['telefone']) pessoas.append(nova.json()) except Exception as e: print("Criando arquivo...") # pass #print(e) # incluir a pessoa pessoas.append(novaPessoa.json()) # persistir o novo arquivo with open(caminho + arquivo, 'w') as outfile: outfile.write(json.dumps(pessoas))
def incluir_pessoa(): # preparar uma resposta otimista resposta = jsonify({"resultado": "ok", "detalhes": "oi"}) # receber as informações da nova pessoa dados = request.get_json( ) #(force=True) dispensa Content-Type na requisição # tratamento especial para data partes = dados['dtnasc'].split("-") # substituir o item original do dicionário por um valor do python dados['dtnasc'] = date(int(partes[0]), int(partes[1]), int(partes[2])) try: # tentar executar a operação nova = Pessoa(**dados) # criar a nova pessoa db.session.add(nova) # adicionar no BD db.session.commit() # efetivar a operação de gravação except Exception as e: # em caso de erro... # informar mensagem de erro resposta = jsonify({"resultado": "erro", "detalhes": str(e)}) # adicionar cabeçalho de liberação de origem resposta.headers.add("Access-Control-Allow-Origin", "*") return resposta # responder!
def incluir(classe): # preparar uma resposta otimista resposta = jsonify({"resultado": "ok", "detalhes": "ok"}) # receber as informações do novo objeto dados = request.get_json() try: nova = None if classe == "ExameRealizado": nova = ExameRealizado(**dados) elif classe == "Pessoa": nova = Pessoa(**dados) elif classe == "Respirador": nova = Respirador(**dados) elif classe == "Exame": nova = Exame(**dados) db.session.add(nova) # adicionar no BD db.session.commit() # efetivar a operação de gravação except Exception as e: # em caso de erro... # informar mensagem de erro resposta = jsonify({"resultado": "erro", "detalhes": str(e)}) # adicionar cabeçalho de liberação de origem resposta.headers.add("Access-Control-Allow-Origin", "*") return resposta # responder!
def alterar_pessoa(): # obter os dados do formulário de edição de pessoa nome = request.args.get("nome") endereco = request.args.get("endereco") telefone = request.args.get("telefone") nome_original = request.args.get("nome_original") # sinaliza que ainda não houve busca pela pessoa a ser alterada indice = -1 # percorrer a lista de pessoas usando um índice numérico for i in range(len(pessoas)): # se a pessoa a alterar for a atual if pessoas[i].nome == nome_original: # sinaliza que vai haver alteração de dados indice = i # interrompe a busca, pois o procurado foi encontrado break # se encontrou o procurado if indice >= 0: # altera a pessoa para uma nova pessoa, com os dados atualizados pessoas[indice] = Pessoa(nome, endereco, telefone) # encaminha a execução para a página de listagem de dados # é utilizado um redirecionador, para que a URL do navegador # seja efetivamente alterada return redirect("listar_pessoas")
# Ativa a restição de chave estrangeira conexao.execute("PRAGMA foreign_keys = on") # Execução dos comandos de manipulação do banco de dados # Limpa tabela pessoa para evitar erro comando0 = '''DELETE FROM Pessoa;''' cursor.execute(comando0) conexao.commit() comando1 = '''INSERT INTO Pessoa (cpf, nome, nascimento, oculos) VALUES (12345678900, 'João', '2000-01-31', 1);''' cursor.execute(comando1) ## Utilizando parâmetros dinâmicos pessoa = Pessoa(10000000099, 'Maria', '1990-01-31', 0) comando2 = '''INSERT INTO Pessoa (cpf, nome, nascimento, oculos) VALUES (?, ?, ?, ?);''' cursor.execute( comando2, (pessoa.cpf, pessoa.nome, pessoa.data_nascimento, pessoa.usa_oculos)) ## Utilizando Argumentos nomeados ## As colunas podem ser suprimidas caso todos os atributos sejam informados pessoa = Pessoa(20000000099, 'José', '1990-02-28', False) comando3 = '''INSERT INTO Pessoa VALUES (:cpf,:nome,:data_nascimento,:usa_oculos);''' cursor.execute( comando3, { "cpf": pessoa.cpf, "nome": pessoa.nome,
from flask import Flask, render_template, request, redirect, session from modelo import Pessoa app = Flask(__name__) app.config['SECRET_KEY'] = '43r78934yt6y5907' # criar uma lista de pessoas # esta variável (lista) é acessada em qualquer parte deste programa servidor pessoas = [ Pessoa("Mariana", "Rua das Flores", "3521-1212"), Pessoa("Tiago", "Beco 9", "99322-1242") ] @app.route("/") def inicio(): return render_template('inicio.html') @app.route("/listar_pessoas") def listar_pessoas(): # fornecer a lista de pessoas para a página exibir as pessoas return render_template("listar_pessoas.html", lista=pessoas) @app.route("/form_incluir_pessoa") def abre_formulario_incluir_pessoa(): return render_template('form_incluir_pessoa.html') @app.route("/incluir_pessoa")
from flask import Flask, render_template, request from modelo import Pessoa app = Flask(__name__) # criar uma lista de pessoas # esta variável (lista) é acessada em qualquer parte deste programa servidor pessoas = [ Pessoa("Mariana Calculets", "Rua das Flores", "3521-1212"), Pessoa("Tiago da Silva", "Beco 9", "99322-1242") ] @app.route("/") def inicio(): return render_template('inicio.html') @app.route("/listar_pessoas") def listar_pessoas(): # fornecer a lista de pessoas para a página exibir as pessoas return render_template("listar_pessoas.html", lista=pessoas) @app.route("/form_incluir_pessoa") def abre_formulario_incluir_pessoa(): return render_template('form_incluir_pessoa.html') @app.route("/incluir_pessoa") def incluir_pessoa(): # obter os parâmetros do formulário
from modelo import Pessoa import DAO # teste da classe Pessoa p1 = Pessoa(nome = "João da Silva", email = "*****@*****.**", telefone = "47 99018 3232") p2 = Pessoa(nome = "Maria Oliveira", email = "*****@*****.**", telefone = "47 98622 1233") DAO.incluirPessoa(p1) DAO.incluirPessoa(p2) print("dados json criados")
# Recupera todos os registros registros = cursor.fetchall() print("Tipo retornado pelo método fetchall():", type(registros)) for registro in registros: print(f'Tipo: {type(registro)} - Conteúdo: {registro}') # Recupera apenas registros que atendem a condição comando = '''SELECT * FROM Pessoa WHERE oculos=:usa_oculos;''' cursor.execute(comando, {"usa_oculos": True}) registros = cursor.fetchall() print("\nPessoas que usam óculos") for registro in registros: # O operador '*' desempacota um iterável, passando cada elemento como um argumento para o construtor. pessoa = Pessoa(*registro) print("cpf:", type(pessoa.cpf), pessoa.cpf) print("nome:", type(pessoa.nome), pessoa.nome) print("nascimento:", type(pessoa.data_nascimento), pessoa.data_nascimento) print("oculos:", type(pessoa.usa_oculos), pessoa.usa_oculos) # Junção de Tabelas print() comando = '''SELECT Veiculo.placa, Veiculo.ano, Veiculo.cor, Veiculo.motor, Veiculo.proprietario, Marca.nome FROM Veiculo JOIN Marca ON Marca.id = Veiculo.marca;''' cursor.execute(comando) re_veiculos = cursor.fetchall()
def listarPessoas(): p1 = Pessoa("Joao da Silva", "Rua A, 01", "999999999") p2 = Pessoa("Maria Oliveira", "Rua B, 02", " ") p3 = Pessoa("Paulo", "Rua C, 03", "888888888 ") lista = [p1, p2, p3] return render_template('listaPessoas.html', pessoas=lista)