Exemple #1
0
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")
Exemple #2
0
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
Exemple #3
0
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!")
Exemple #4
0
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)
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
def buscar():

    nome_procurado = request.args.get("nome")

    return render_template("pessoa_encontrada.html",
                           lista=Pessoa.select(),
                           nome=nome_procurado)
Exemple #8
0
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)
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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!")
Exemple #12
0
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))
Exemple #13
0
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!
Exemple #15
0
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")
Exemple #16
0
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("/")
Exemple #17
0
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)
Exemple #18
0
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
Exemple #20
0
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
Exemple #21
0
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
Exemple #22
0
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("/")
Exemple #23
0
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!
Exemple #24
0
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
Exemple #25
0
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!
Exemple #26
0
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")
Exemple #27
0
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")
Exemple #28
0
def listar_pessoas():
    # forma alternativa rápida: usando map (lambda)
    pessoas = list(map(model_to_dict, Pessoa.select()))
    return jsonify({'lista': pessoas})
Exemple #29
0
    # 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,
Exemple #30
0
def listar_pessoas():
    # fornecer a lista de pessoas para a página exibir as pessoas
    return render_template("listar_pessoas.html", lista=Pessoa.select())