def editar_cancion(self, cancion_id, titulo, minutos, segundos, compositor, interpretes): busqueda = session.query(Cancion).filter( Cancion.titulo == titulo, Cancion.id != cancion_id).all() if len(busqueda) == 0: cancion = session.query(Cancion).filter( Cancion.id == cancion_id).first() cancion.titulo = titulo cancion.minutos = minutos cancion.segundos = segundos cancion.compositor = compositor for item in interpretes: if item["id"] == "n": interprete = Interprete( nombre=item["nombre"], texto_curiosidades=item["texto_curiosidades"], cancion=cancion.id) session.add(interprete) cancion.interpretes.append(interprete) else: self.editar_interprete(item["id"], item["nombre"], item["texto_curiosidades"]) session.commit() return True else: return False
def agregar_album(self, titulo, anio, descripcion, medio): busqueda = session.query(Album).filter(Album.titulo == titulo).all() if len(busqueda) == 0: album = Album(titulo=titulo, ano=anio, descripcion=descripcion, medio=medio) session.add(album) session.commit() return True else: return False
def agregar_interprete(self, nombre, texto_curiosidades, cancion_id): busqueda = session.query(Interprete).filter( Interprete.nombre == nombre).all() if len(busqueda) == 0: if cancion_id > 0: nuevoInterprete = Interprete( nombre=nombre, texto_curiosidades=texto_curiosidades, cancion=cancion_id) else: nuevoInterprete = Interprete( nombre=nombre, texto_curiosidades=texto_curiosidades) session.add(nuevoInterprete) session.commit() return True else: return False
def agregar_cancion(self, titulo, minutos, segundos, compositor, album_id, interpretes): interpretesCancion = [] if len(interpretes) == 0: return False else: if album_id > 0: busqueda = session.query(Cancion).filter( Cancion.albumes.any(Album.id.in_([album_id])), Cancion.titulo == titulo).all() if len(busqueda) == 0: album = session.query(Album).filter( Album.id == album_id).first() nuevaCancion = Cancion(titulo=titulo, minutos=minutos, segundos=segundos, compositor=compositor, albumes=[album]) for item in interpretes: interprete = Interprete( nombre=item["nombre"], texto_curiosidades=item["texto_curiosidades"], cancion=nuevaCancion.id) session.add(interprete) interpretesCancion.append(interprete) nuevaCancion.interpretes = interpretesCancion session.add(nuevaCancion) session.commit() return True else: return False else: nuevaCancion = Cancion(titulo=titulo, minutos=minutos, segundos=segundos, compositor=compositor) for item in interpretes: interprete = Interprete( nombre=item["nombre"], texto_curiosidades=item["texto_curiosidades"], cancion=nuevaCancion.id) session.add(interprete) interpretesCancion.append(interprete) nuevaCancion.interpretes = interpretesCancion session.add(nuevaCancion) session.commit() return True