def elimina(self):
        """
        Elimina una pelicula de la base de datos
        """
	index =self.ui.grilla.currentIndex()
	data = self.ui.grilla.model()
	peli = data.item(index.row(),0).peli
	iD = str(peli['id'])
	resp = QtGui.QMessageBox.question(self, "Pregunta","Desea realmente eliminar la pelicula seleccionada?",QtGui.QMessageBox.Ok,QtGui.QMessageBox.No)
        if resp == QtGui.QMessageBox.Ok:
            Modelo_pelicula.borrar(iD);
            self.cargar_peliculas();
 def crear_pelicula(self):
     """
     Crea una nueva pelicula en la base de datos
     """
     self.obtener_datos()
     if(len(self.ui.nombre_in.text())>0 and len(self.ui.fecha_in.date().toPython().strftime("%Y-%m-%d"))>0 and len(self.ui.pais_in.text())>0 and len(self.ui.descripcion_in.toPlainText())>0 and Modelo_pelicula.checkea_pelicula(self.nombre)==False):#si los campos obligatorios tienen datos, se crea la pelicula
         print("Creando nueva pelicula ...")
                        #crear_pelicula(nombre,estreno, pais, descripcion, director_id)
         Modelo_pelicula.crear_pelicula(self.nombre,self.estreno, self.pais, self.descripcion,"Peliculas/img/"+self.nombre.replace(" ","_")+".jpg")
         self.ui.foto_label.pixmap().save("Peliculas/img/"+self.nombre.replace(" ","_")+".jpg","jpg")#guarda la imagen que se selecciono a la carpeta "img"
         self.limpiar()
         self.close()
     else:#si falta algun campo obligatorio, no se creara el nuevo director           
         QtGui.QMessageBox.critical(self, 'Faltan campos obligatorios','Error:\nLos campos "nombre", "estreno","pais y  descripcion" son campos obligatorios')
    def filtro_actor(self):
        """
        Filtra para poner la cantidad de actores de esa pelicula
        """
        actor=self.ui.filtro_actor.text()
        peliculas = Modelo_pelicula.filtro_pelicula(actor)
        rows = len(peliculas)
        if rows == 0:
            QtGui.QMessageBox.information(
                None,
                u"InformaciĆ³n",
                u"No se encontro nigun actor en las peliculas.")
            return
        data = QtGui.QStandardItemModel(
            rows, len(self.table_columns))
        self.ui.grilla.setModel(data)
        self.ui.grilla.horizontalHeader().setResizeMode(
            0, self.ui.grilla.horizontalHeader().Stretch)

        for col, h in enumerate(self.table_columns):
            data.setHeaderData(col, QtCore.Qt.Horizontal, h[0])
            self.ui.grilla.setColumnWidth(col, h[1])

        for i, peli in enumerate(peliculas):
            row = [
                peli["nombre"], peli["estreno"], peli["pais"],  # cambiar lo que esta dentro del parentesis dependiendo de la tabla
                peli["descripcion"], peli["director_id"]]
            for j, field in enumerate(row):
                index = data.index(i, j, QtCore.QModelIndex())
                data.setData(index, field)
            # Parametros ocultos
            data.item(i).peli = peli
Example #4
0
    def obtener_datos(self):
        """
        Obtiene los datos de la pelicula
        y los muestra en pantalla de editar
        """
        self.nombre=""
        self.imagen=""
        self.estreno=""
        self.pais=""
        self.descripcion=""
        self.ui.id_label.setText("ID:xXxX")
        #self.datos
        if(self.id>=1):
	  self.datos=Modelo_pelicula.buscar_id(self.id)
	  print(self.datos)
	  print(len(self.datos))
	  self.ui.id_label.setText("ID:"+str(self.id))
	  self.ui.nombre_in.setText(self.datos[1])
	  y=int(self.datos[2][0:4])
	  m=int(self.datos[2][5:7])
	  d=int(self.datos[2][8:10])
	  self.ui.fecha_in.setDate(QtCore.QDate(y,m,d))#Y,M,D
	  self.ui.pais_in.setText(self.datos[3])
	 # print("---------->"+str(self.datos[4]))
          self.ui.descripcion_in.setText(self.datos[4])
	  self.ui.foto_label.setPixmap(QtGui.QPixmap(self.datos[6]))
	  self.listo=True
 def sum_actores(self,id_p):
     """
     recorre la query como diccionario para luego contar los actores
     """
     c=0
     peliculas = Modelo_pelicula.contar_actor(id_p) 
     for i, peli in enumerate(peliculas):
         c=c+1
     return(c)
Example #6
0
    def guardar_pelicula(self):
        """
        Guarda la pelocula que fue editada en la base de datos
        """
	print("Guardando pelicula modificado...")
        #self.obtener_datos()
        if(len(self.ui.nombre_in.text())>0 and len(self.ui.fecha_in.text())>0 and len(self.ui.pais_in.text())>0 and  len(self.ui.descripcion_in.toPlainText())>0):#si los campos obligatorios tienen datos, se crea la pelicula
	         
	    self.ui.foto_label.pixmap().save("Peliculas/img/"+self.nombre.replace(" ","_")+".jpg","jpg")#guarda la imagen que se selecciono a la carpeta "img"
            Modelo_pelicula.actualiza(self.id,self.ui.nombre_in.text(),self.ui.fecha_in.date().toPython().strftime("%Y-%m-%d"),self.ui.pais_in.text(),self.ui.descripcion_in.toPlainText(),"Peliculas/img/"+self.nombre.replace(" ","_")+".jpg")
	    
            self.limpiar()
            self.close()
        else:#si falta algun campo obligatorio, no se creara el nuevo director
            if(len(self.nombre)>0 and len(self.descripcion)>0 and len(self.pais)>0 and len(self.estreno)>0):
                QtGui.QMessageBox.critical(self, "Pelicula Existente","Error:\nLa pelicula que intenta agregar ("+self.nombre+"), ya existe en la base de datos")
            else:
                QtGui.QMessageBox.critical(self, 'Faltan campos obligatos campos "nombre", "estreno","pais", "descripcion" son obligatorios')
    def cargar_peliculas(self):
        """
        Muestra las peliculas en la grilla
        """
        peliculas=Modelo_pelicula.obtener_peliculas()
	filas=len(peliculas)
	data = QtGui.QStandardItemModel(filas, len(self.table_columns))
	self.ui.grilla.setModel(data)
	self.ui.grilla.horizontalHeader().setResizeMode(0, self.ui.grilla.horizontalHeader().Stretch)

	for col, h in enumerate(self.table_columns):
	    data.setHeaderData(col, QtCore.Qt.Horizontal, h[0])
	    self.ui.grilla.setColumnWidth(col, h[1])
	    
	for i, peli in enumerate(peliculas):
	    filas = [
	        peli["nombre"], peli["estreno"],
	        peli["pais"],peli["descripcion"],peli["director_id"]]
	    for j, field in enumerate(filas):
	        index = data.index(i, j, QtCore.QModelIndex())
	        data.setData(index, field)
	        
	    # Parametros ocultos
	    data.item(i).peli = peli