def buscar_persona(id_persona):
    conn = crear_conexion()

    with conn:
        cur = conn.cursor()
        select = """
            SELECT id_persona, nombre, fecha_nacimiento, dni, altura 
            FROM persona 
            WHERE id_persona = ? 
            ORDER BY id_persona ASC
        """
        tdato = str(id_persona),  # la coma es constructor de tuplas
        cur.execute(select, tdato)
        filas = cur.fetchall()

    if not filas:
        return False

    persona = filas[0]

    id_persona, nombre, fecha_nac, dni, altura = persona

    fecha_nac = datetime.datetime.strptime(fecha_nac, '%Y-%m-%d')

    return (id_persona, nombre, fecha_nac, dni, altura)
Example #2
0
def borrar_tabla_peso():
    conn = crear_conexion()
    cur = conn.cursor()
    drop_table = "DROP TABLE PersonaPeso"
    cur.execute(drop_table)

    cur.close()
    conn.commit()
    conn.close()
def borrar_persona(id_persona):
    conn = crear_conexion()

    with conn:
        cur = conn.cursor()
        consulta = "DELETE FROM persona WHERE id_persona = ?"
        cur.execute(consulta, (id_persona, ))
        rta = cur.rowcount
        conn.commit()

    return rta == 1
def agregar_persona(nombre, nacimiento, dni, altura):
    conn = crear_conexion()
    cur = conn.cursor()
    csql = "INSERT into persona(nombre, fecha_nacimiento, dni, altura) VALUES(?,?,?,?)"
    tdatos = (nombre, datetime.datetime.strftime(nacimiento,
                                                 "%Y-%m-%d"), dni, altura)
    cur.execute(csql, tdatos)
    id = cur.lastrowid
    cur.close()
    conn.commit()
    conn.close()
    return id
Example #5
0
def listar_pesos(id_persona):
    if buscar_persona(id_persona):
        conn = crear_conexion()
        cur = conn.cursor()
        select = "SELECT fecha, peso FROM PersonaPeso WHERE id_persona=? ORDER BY fecha ASC"
        cur.execute(select, (id_persona, ))
        rows = cur.fetchall()
        cur.close()
        conn.commit()
        conn.close()
        return False if not rows else rows
    else:
        return False
Example #6
0
def crear_tabla_peso():
    conn = crear_conexion()
    cur = conn.cursor()
    create_table = 'CREATE TABLE IF NOT EXISTS PersonaPeso (id_peso INTEGER PRIMARY KEY AUTOINCREMENT, \
                                                  id_persona INTEGER, \
                                                  fecha DATETIME NULL, \
                                                  peso INT NULL, \
                                                  CONSTRAINT fk_personas \
                                                  FOREIGN KEY (id_Persona) \
                                                  REFERENCES persona(id_persona)); '
    cur.execute(create_table)
    cur.close()
    conn.commit()
    conn.close()
Example #7
0
def agregar_peso(id_persona, fecha, peso):
    conn = crear_conexion()
    cur = conn.cursor()
    if buscar_persona(id_persona) and existe_registro_posterior(
            id_persona, fecha):
        insert = " INSERT INTO PersonaPeso(id_persona, fecha, peso) VALUES(?,?,?)"
        tdatos = (id_persona, datetime.datetime.strftime(fecha,
                                                         "%Y-%m-%d"), peso)
        cur.execute(insert, tdatos)
        cur.close()
        conn.commit()
        conn.close()
        return cur.lastrowid
    else:
        return False
Example #8
0
def existe_registro_posterior(id_persona, fecha):
    conn = crear_conexion()
    cur = conn.cursor()
    select = "SELECT fecha FROM PersonaPeso WHERE id_persona=? ORDER BY fecha DESC"
    cur.execute(select, (id_persona, ))
    rows = cur.fetchall()
    cur.close()
    conn.commit()
    conn.close()
    if rows:
        if rows[0][0] > fecha.strftime("%Y-%m-%d"):
            return False
        else:
            return True
    else:
        return True
def actualizar_persona(id_persona, nombre, nacimiento, dni, altura):
    conn = crear_conexion()

    existe = buscar_persona(id_persona)

    if not existe:
        return False

    with conn:
        cur = conn.cursor()
        update = """
        update persona 
        set nombre = ?, dni = ?, fecha_nacimiento = ?, altura = ? 
        where id_persona = ?
        """
        nacimiento = datetime.datetime.strftime(nacimiento,"%Y-%m-%d")
        cur.execute(update, (nombre, dni, nacimiento, altura, id_persona))
        conn.commit()

    return True