Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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."
         )
Ejemplo n.º 4
0
    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")
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
    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")