def actualizar(): idPeli = colors.getIdByName(peliculas, comboboxActualizarNombre.get()) year = datetime.date.today().year nombre = comboboxActualizarNombre.get() genero = entryActualizarGenero.get() director = entryActualizarDirector.get() franquicia = entryActualizarFranquicia.get() pais = entryActualizarPais.get() anno = entryActualizarAnno.get() duracion = entryActualizarDuracion.get() actores = entryActualizarActores.get() productora = comboboxActualizarProductoras.get() id_productora = colors.getIdByName(productoras, productora) if not nombre or not genero or not director or not pais or not anno or not duracion or not actores or not productora: messagebox.showerror( "Error", "Todos los campos menos franquicia son obligatorios") else: valido = False try: anno = int(anno) duracion = int(duracion) valido = True except ValueError: messagebox.showerror("Error", "El año y la duración deben ser números") valido = False if valido: if anno > year or anno < 1900 or duracion < 0: messagebox.showerror( "Error", "Por favor inserte un año y una duración válidas") else: actores = actores.split(",") body = { "nombre": nombre, "genero": genero, "nombreDirector": director, "franquicia": franquicia, "pais": pais, "anno": anno, "duracion": duracion, "actores": actores, "productora": id_productora } try: res = colors.actualizarPelicula(body, idPeli) messagebox.showinfo( "Listo!", "Se actualizó la película nueva con éxito.") frameActualizarPeli.pack_forget() except requests.exceptions.ConnectionError: messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor, por favor intentelo más tarde." ) return
def eliminar(): nombre = comboboxEliminarNombreProdu.get() print(nombre) id = colors.getIdByName(productoras, nombre) #verifica que no tenga pelis ligadas peliculas = cargarPeliculas() if peliculas == [[]]: messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor, por favor intentelo más tarde." ) else: for i in range(0, len(peliculas)): if peliculas[i]["productora"] == id: messagebox.showerror( "Error", "Debe eliminar las películas de esta compañía antes de eliminarla." ) return res = colors.borrarProductora(id) if res.status_code == requests.codes.ok: messagebox.showinfo("Listo!", "Se eliminó la película con éxito") frameEliminarPeli.pack_forget() return else: messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor, por favor intentelo más tarde." ) frameEliminarProdu.pack_forget() return
def eliminar(): nombre = comboboxEliminarNombre.get() id = colors.getIdByName(peliculas, nombre) res = colors.borrarPelicula(id) if res.status_code == requests.codes.ok: messagebox.showinfo("Listo!", "Se eliminó la película con éxito") frameEliminarPeli.pack_forget() return else: messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor, por favor intentelo más tarde." )
def buscardatos(): for i in range(0, len(peliculas)): peliculas.pop() for i in range(0, len(listaPelis)): listaPelis.pop() Productora = comboBoxProductoraProductoras.get() if not Productora: comboBoxProductoraNombre.config(state="disabled") messagebox.showerror("Error", "Por favor ingrese una Productora válida.") else: idprod = colors.getIdByName(productoras, Productora) res = colors.buscarPorProductoraDatos(idprod) if res.status_code == requests.codes.ok: if len(res.json()) == 0: comboBoxProductoraNombre.config(state="disabled") messagebox.showinfo( "Disculpe", "No se encontró una película de esa Productora.") else: for i in range(0, len(res.json())): peliculas.append(res.json()[i]) nombres = colors.getListaNombres(peliculas) for i in range(0, len(nombres)): listaPelis.append(nombres[i]) comboBoxProductoraNombre.config(state="readonly") comboBoxProductoraNombre["values"] = listaPelis comboBoxProductoraNombre.current(0) return cargarInfo("event") else: comboBoxProductoraNombre.config(state="disabled") messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor por favor intente más tarde" ) entryProductoraGenero.config(state="normal") entryProductoraAnno.config(state="normal") entryProductoraGenero.delete(0, END) entryProductoraAnno.delete(0, END) entryProductoraGenero.config(state="readonly") entryProductoraAnno.config(state="readonly")
def actualizar(): idProd = colors.getIdByName(productoras, comboboxActualizarNombreProdu.get()) year = datetime.date.today().year anno = entryActualizarAnnoProdu.get() nombre = comboboxActualizarNombreProdu.get() direccion = entryActualizarDireccionProdu.get() if not nombre or not direccion: messagebox.showerror("Error", "Debe llenar todos los campos") elif not anno: messagebox.showerror("Error", "Por favor inserte un año válido") else: valido = False try: anno = int(anno) valido = True except ValueError: messagebox.showerror("Error", "El año debe ser un número") valido = False if valido: if anno > year or anno < 1900: messagebox.showerror("Error", "Por favor inserte un año válido") else: body = { "nombre": nombre, "anno": anno, "direccion": direccion } try: res = colors.actualizarProductora(body, idProd) messagebox.showinfo( "Listo!", "Se actualizó la productora con éxito.") frameActualizarProdu.pack_forget() except requests.exceptions.ConnectionError: messagebox.showerror( "Error", "No se pudo establecer comunicación con el servidor, por favor intentelo más tarde." ) return
def buscarduracion(): Productora = comboBoxProductoraProductoras.get() if not Productora: comboBoxProductoraNombre.config(state="disabled") messagebox.showerror("Error", "Por favor ingrese una Productora válida.") else: idprod = colors.getIdByName(productoras, Productora) res = colors.buscarPorProductoraDuracion(idprod) if res.status_code == requests.codes.ok: if len(res.json()) == 0: messagebox.showinfo( "Disculpe", "No se encontró una película de esa Productora.") else: valores = res.json()[0]["value"] print(res.json()[0]) entryProductoraCantidad.config(state="normal") entryProductoraDuracionMaxima.config(state="normal") entryProductoraDuracionMinima.config(state="normal") entryProductoraDuracionPromedio.config(state="normal") entryProductoraCantidad.delete(0, END) entryProductoraDuracionMaxima.delete(0, END) entryProductoraDuracionMinima.delete(0, END) entryProductoraDuracionPromedio.delete(0, END) entryProductoraCantidad.insert(0, valores["cantidad"]) entryProductoraDuracionMaxima.insert( 0, valores["duracionMaxima"]) entryProductoraDuracionMinima.insert( 0, valores["duracionMinima"]) entryProductoraDuracionPromedio.insert( 0, valores["duracionPromedio"]) entryProductoraCantidad.config(state="readonly") entryProductoraDuracionMaxima.config(state="readonly") entryProductoraDuracionMinima.config(state="readonly") entryProductoraDuracionPromedio.config(state="readonly")