def crear_director(self): """ Ingresa al director a la base de datos """ self.obtener_datos() if ( self.listo == True and Modelo_director.checkea_director(self.nombre) == False ): # si los campos obligatorios tienen datos, se crea el director print("Creando nuevo director ...") # crear_director(nombre, pais, fecha_nacimiento,fecha_defuncion): Modelo_director.crear_director( self.nombre, self.pais, self.nacimiento, self.defuncion, "Director/img/" + self.nombre.replace(" ", "_") + ".jpg", ) self.ui.foto_label.pixmap().save( "Director/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 if len(self.nombre) > 0: QtGui.QMessageBox.critical( self, "Director Existente", "Error:\nEL director que intenta agregar (" + self.nombre + "), ya existe en la base de datos", ) else: QtGui.QMessageBox.critical( self, "Faltan campos obligatorios", 'Error:\nLos campos "nombre" y "fecha de nacimiento" son obligatorios', )
def elimina(self): """ Elimina un director de la base de datos """ index = self.ui.grilla.currentIndex() data = self.ui.grilla.model() dire = data.item(index.row(), 0).dire iD = str(dire["id"]) resp = QtGui.QMessageBox.question( self, "Pregunta", "Desea realmente eliminar el director seleccionado?", QtGui.QMessageBox.Ok, QtGui.QMessageBox.No, ) if resp == QtGui.QMessageBox.Ok: Modelo_director.borrar(iD) self.cargar_directores()
def sum_peliculas(self, id_p): """ recorre la query como diccionario para luego contar los actores """ c = 0 directores = Modelo_director.contar_peliculas(id_p) for i, peli in enumerate(directores): c = c + 1 return c
def cargar_directores(self): """ Carga directores de la base de datos """ directores = Modelo_director.obtener_directores() filas = len(directores) 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, dire in enumerate(directores): filas = [dire["id"], dire["nombre"], dire["pais"], dire["fecha_nacimiento"], dire["fecha_defuncion"]] for j, field in enumerate(filas): index = data.index(i, j, QtCore.QModelIndex()) data.setData(index, field) # Parametros ocultos data.item(i).dire = dire