Ejemplo n.º 1
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)
Ejemplo n.º 2
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!")
Ejemplo n.º 3
0
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!
Ejemplo n.º 4
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)
Ejemplo n.º 5
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
Ejemplo n.º 6
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))
Ejemplo n.º 7
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!
Ejemplo n.º 8
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!
Ejemplo n.º 9
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")
Ejemplo n.º 10
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,
Ejemplo n.º 11
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")
Ejemplo n.º 12
0
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
Ejemplo n.º 13
0
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")
Ejemplo n.º 14
0
    # 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()
Ejemplo n.º 15
0
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)