def excluir_pessoa(): # obter o nome da pessoa a ser excluída id = request.args.get("id") # solicitar a exclusão Pessoa.delete_by_id(id) # encaminhar o fluxo de execução para a página de listagem return redirect("/listar_pessoas")
def excluir_pessoa(): # preparar mensagem de retorno padrão (sucesso) msg = jsonify({"message": "ok"}) # obter o id id = request.args.get("id") # exclui Pessoa.delete_by_id(id) return msg
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 (não é preciso atribuir a nova pessoa à uma) Pessoa.create(nome=nome, endereco=ender, telefone=tel) # encaminhar a resposta para uma página de exibição de mensagens return render_template('exibir_mensagem.html', mensagem="Pessoa inserida!")
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 excluir_pessoa(): # obtém o id da pessoa id_pessoa = request.args.get('id_pessoa') # apaga a pessoa Pessoa.delete_by_id(id_pessoa) # prepara a resposta response = jsonify({"message": "ok"}) # informa que outras origens podem acessar os dados desde servidor/serviço response.headers.add('Access-Control-Allow-Origin', '*') # retorno! return response
def incluir_pessoa(): # preparar mensagem de retorno padrão (sucesso) msg = jsonify({"message": "ok"}) # obter os dados dados = request.get_json(force=True) # obter os valores nome = dados['nome'] ender = dados['endereco'] tel = dados['telefone'] # criar a nova pessoa Pessoa.create(nome=nome, endereco=ender, telefone=tel) return msg
def buscar(): nome_procurado = request.args.get("nome") return render_template("pessoa_encontrada.html", lista=Pessoa.select(), nome=nome_procurado)
def form_alterar_pessoa(): # obter id da pessoa a ser alterada id = request.args.get("id") # obter a pessoa pessoa_para_alterar = Pessoa.get_by_id(id) # encaminhar o fluxo para a página de alteração return render_template("form_alterar_pessoa.html", pessoa=pessoa_para_alterar)
def incluir_pessoa(): # prepara a resposta padrão otimista response = jsonify({"message": "ok", "details": "ok"}) try: # pega os dados informados dados = request.get_json(force=True) # cria uma pessoa Pessoa.create(nome=dados['nome'], endereco=dados['endereco'], telefone=dados['telefone']) except Exception as e: # resposta de erro response = jsonify({"message": "error", "details": str(e)}) # informa que outras origens podem acessar os dados desde servidor/serviço response.headers.add('Access-Control-Allow-Origin', '*') # retorno! return response
def listar(): # converte para pessoa para inserir em uma lista json pessoas = list(map(model_to_dict, Pessoa.select())) # adiciona à lista json um nome response = jsonify({"lista": pessoas}) # informa que outras origens podem acessar os dados desde servidor/serviço response.headers.add('Access-Control-Allow-Origin', '*') # retorno! return response
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 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 consultar_pessoa(): # preparar mensagem de retorno padrão (sucesso) msg = jsonify({"message": "error", "detail": "iniciando procedimentos"}) # obter o id id = request.args.get("id") # obter a pessoa original cidadao = Pessoa.get_by_id(id) # preparar retorno msg = jsonify({ "message": "ok", "detail": "ok", "data": model_to_dict(cidadao) }) return msg
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 alterar_pessoa(): # obter os dados do formulário de edição de pessoa id = request.args.get("id") nome = request.args.get("nome") endereco = request.args.get("endereco") telefone = request.args.get("telefone") # obter a pessoa original cidadao = Pessoa.get_by_id(id) # alterar os dados da pessoa cidadao.nome = nome cidadao.endereco = endereco cidadao.telefone = telefone # atualizar os dados cidadao.save() # encaminhar a execução para a página de listagem de dados return redirect("/listar_pessoas")
def editar_pessoa(): id = request.args.get("id") nome = request.args.get("nome") endereco = request.args.get("endereco") telefone = request.args.get("telefone") email = request.args.get("email") cpf = request.args.get("cpf") pessoa_alterada = Pessoa.get_by_id(id) pessoa_alterada.nome = nome pessoa_alterada.endereco = endereco pessoa_alterada.telefone = telefone pessoa_alterada.email = email pessoa_alterada.cpf = cpf pessoa_alterada.save() return redirect("/")
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 incluir_pessoa(): nome = request.args.get("nome") endereco = request.args.get("endereco") telefone = request.args.get("telefone") email = request.args.get("email") nova = Pessoa.create(nome=nome, endereco=endereco, telefone=telefone, email=email) # converte a pessoa em peewee para json pessoa_json = model_to_dict(Pessoa, nova) # envia a pessoa nova em json para o backend cadastrar (chamada post) resultado = requests.get('http://localhost:4999/incluir_pessoa', params=pessoa_json) return resultado
def listar_pessoas(): # forma alternativa rápida: usando map (lambda) pessoas = list(map(model_to_dict, Pessoa.select())) # liberar a resposta para domínios diferentes do servidor #response.headers.add("Access-Control-Allow-Origin", "*") '''response = app.response_class( response=jsonify({'lista':pessoas}), status=200, mimetype='application/json' )''' response = app.response_class( response=json.dumps('message:{"hello"}'), #response=jsonify("hello"), status=200, mimetype='application/json') response.headers['Access-Control-Allow-Origin'] = '*' return response
def alterar_pessoa(): # preparar mensagem de retorno padrão (sucesso) msg = jsonify({"message": "ok"}) # obter os dados dados = request.get_json(force=True) # obter os dados da pessoa a ser alterada id = dados['id'] nome = dados['nome'] ender = dados['endereco'] tel = dados['telefone'] # obter a pessoa original cidadao = Pessoa.get_by_id(id) # alterar os dados da pessoa cidadao.nome = nome cidadao.endereco = ender cidadao.telefone = tel # atualizar os dados cidadao.save() return msg
def add(): nome = request.args.get("nome") endereco = request.args.get("endereco") telefone = request.args.get("telefone") email = request.args.get("email") cpf = request.args.get("cpf") if request.method == "POST": if request.files: imagem = request.files["imagem"] print(imagem) nova_pessoa = Pessoa.create(nome=nome, endereco=endereco, telefone=telefone, email=email, cpf=cpf) return redirect("/")
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 alterar_pessoa(): # prepara a resposta padrão otimista response = jsonify({"message": "ok", "details": "ok"}) try: # pega os dados informados dados = request.get_json(force=True) # busca a pessoa antiga p = Pessoa.get_by_id(dados['id']) # atualiza os dados p.nome = dados['nome'] p.endereco = dados['endereco'] p.telefone = dados['telefone'] # atualiza p.save() except Exception as e: # resposta de erro response = jsonify({"message": "error", "details": str(e)}) # informa que outras origens podem acessar os dados desde servidor/serviço response.headers.add('Access-Control-Allow-Origin', '*') # retorno! return response
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")
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")
def listar_pessoas(): # forma alternativa rápida: usando map (lambda) pessoas = list(map(model_to_dict, Pessoa.select())) return jsonify({'lista': 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,
def listar_pessoas(): # fornecer a lista de pessoas para a página exibir as pessoas return render_template("listar_pessoas.html", lista=Pessoa.select())