def actualizar_persona(id_persona, nombre, nacimiento, dni, altura): existe = buscar_persona(id_persona) if not existe: return False session.query(Persona).filter(Persona.idPersona == id_persona).update({Persona.dni:dni, Persona.nombre:nombre, Persona.fechaNacimiento:nacimiento, Persona.altura:altura}) session.commit() return True
def borrar_persona(id_persona): per = session.query(Persona).filter(Persona.idPersona == id_persona).all() if not per: return False persona = per[0] session.delete(persona) session.commit() return True
def existe_registro_posterior(id_persona, fecha): rows = session.query(PersonaPeso).filter( PersonaPeso.id_persona == id_persona).order_by( PersonaPeso.fecha.desc()).all() if rows: for n in rows: if str(n.fecha) > fecha.strftime("%Y-%m-%d"): return False return True else: return True
def agregar_persona(nombre, nacimiento, dni, altura): oper = Persona() oper.nombre = nombre oper.fechaNacimiento = nacimiento oper.dni = dni oper.altura = altura session.add(oper) session.commit() id = (session.query(Persona).filter(Persona.dni == dni).first()).idPersona return id
def buscar_persona(id_persona): filas = session.query(Persona).filter( Persona.idPersona == id_persona).all() if not filas: return False persona = filas[0] fecha_nac = datetime.datetime.strptime(str(persona.fechaNacimiento), '%Y-%m-%d') return (persona.idPersona, persona.nombre, fecha_nac, persona.dni, persona.altura)
def listar_pesos(id_persona): if buscar_persona(id_persona): rows = session.query(PersonaPeso).filter( PersonaPeso.id_persona == id_persona).order_by( PersonaPeso.fecha.asc()).all() if not rows: return False else: lista = [] for n in rows: lista.append((n.fecha.strftime("%Y-%m-%d"), n.peso)) return lista else: return False
def agregar_peso(id_persona, fecha, peso): if buscar_persona(id_persona) and existe_registro_posterior( id_persona, fecha): perPeso = PersonaPeso() perPeso.id_persona = id_persona perPeso.peso = peso perPeso.fecha = fecha session.add(perPeso) session.commit() idPeso = (session.query(PersonaPeso).filter( PersonaPeso.id_persona == id_persona).order_by( PersonaPeso.fecha.desc()).first()).idPeso return idPeso else: return False