def __init__(self, imgsAfectadas, claseOrigen, claseDestino): self.imgsAfectadas = imgsAfectadas self.claseOrigen = claseOrigen self.claseDestino = claseDestino self.accionRealizada = False if not Valida.exitenciaClase(self.claseOrigen, Accion.dicClases): self.logger.error("Clase " + claseOrigen + " inexistente") raise Exception( Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Existente')) if not Valida.exitenciaClase(self.claseDestino, Accion.dicClases): self.logger.error("Clase " + claseDestino + " inexistente") raise Exception( Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Existente')) if not Valida.imagenesExistenteOnClase(self.imgsAfectadas, Accion.dicClases[claseOrigen]): self.logger.error( "Error imagenes incosistentes, no todas se encuentran en la clase origen: " + claseOrigen) raise Exception( Util.getMnsjIdioma('Accion', 'Error_Imagenes_Inconsistentes')) for img in imgsAfectadas: img.nomClaseCorrecto = claseOrigen self.removerImgs = EliminarImagen(imgsAfectadas) self.agregarImgs = AgregarImagen(imgsAfectadas)
def efectuarAccion(self, ): logger.info("Eliminando la lcase: "+self.nomClase) ''' Crea una clase y la agrega a la lista de dicClases evitando que se repita ''' if not self.accionRealizada: if not Valida.exitenciaClase(self.nomClase, self.dicClases): logger.error('No se efectuo accion, La clase: '+self.nomClase+' no existe') raise Exception(Util.getMnsjIdioma('Accion', 'Error_Eliminar_Clase_Inex')) del self.dicClases[self.nomClase] self.accionRealizada = True self.actualizarHistorial() logger.info("Clase eliminada :"+self.nomClase+" <ok>") else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Hacer_Accion"))
def deshacerAccion(self): if self.accionRealizada: for img in self.imgsAfectadas: self.removerImagen(img) self.accionRealizada = False else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def efectuarAccion(self, ): logger.info("Eliminando la lcase: " + self.nomClase) ''' Crea una clase y la agrega a la lista de dicClases evitando que se repita ''' if not self.accionRealizada: if not Valida.exitenciaClase(self.nomClase, self.dicClases): logger.error('No se efectuo accion, La clase: ' + self.nomClase + ' no existe') raise Exception( Util.getMnsjIdioma('Accion', 'Error_Eliminar_Clase_Inex')) del self.dicClases[self.nomClase] self.accionRealizada = True self.actualizarHistorial() logger.info("Clase eliminada :" + self.nomClase + " <ok>") else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Hacer_Accion"))
def efectuarAccion(self): if not self.accionRealizada: for img in self.imgsAfectadas: self.removerImagen(img) self.accionRealizada = True self.actualizarHistorial() else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Hacer_Accion"))
def deshacerAccion(self): if self.accionRealizada: for img in self.imgsAfectadas: self.removerImagen(img) self.accionRealizada = False else: raise Exception( Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def deshacerUltimaAccion(self): ''' Deshace la ultima accion realizada eliminandola del historial''' if self.accionRealizada: accion = None if len(self.pilaAcciones)>0 : accion = self.pilaAcciones.pop() accion.deshacerAccion() return accion else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def deshacerUltimaAccion(self): ''' Deshace la ultima accion realizada eliminandola del historial''' if self.accionRealizada: accion = None if len(self.pilaAcciones) > 0: accion = self.pilaAcciones.pop() accion.deshacerAccion() return accion else: raise Exception( Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def deshacerAccion(self): if self.accionRealizada: # Se deshace la accion de agregar imagenes de la clase Destino self.deshacerUltimaAccion() # Se vuelven a mover las imagenes for img in self.imgsAfectadas: self.moverImagen(img, self.claseOrigen) # Se deshace la accion de eliminar imagenes de la clase Origen self.deshacerUltimaAccion() else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def buscar(self): ''' Busca utilizando expresiones regulares, todos los objetos Imgen de todos los objetos Fila que se encuentran en la lista filas ''' if self.expRegBusqueda.get() is None : raise Exception(Util.getMnsjIdioma("TablaRutas", "Error_Exp_Reg_None")) self.limpiarLstImgsSeleccionadas() self.limpiarLstImgsFiltradas() try: for img in self.imgs: if(re.search(self.expRegBusqueda.get(),img.source) is not None): self.lstImgsFiltradas.append(img) except Exception: raise Exception(Util.getMnsjIdioma("TablaRutas", "Error_Exp_Reg_Inv")) self.empaquetarWidgetsTabla()
def deshacerAccion(self): if self.accionRealizada: # Se deshace la accion de agregar imagenes de la clase Destino self.deshacerUltimaAccion() # Se vuelven a mover las imagenes for img in self.imgsAfectadas: self.moverImagen(img, self.claseOrigen) # Se deshace la accion de eliminar imagenes de la clase Origen self.deshacerUltimaAccion() else: raise Exception( Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def efectuarAccion(self, ): ''' Crea una clase y la agrega a la lista de dicClases evitando que se repita ''' logger.info("Creando la lcase: "+self.nomClase+"...") if not self.accionRealizada: if not Valida.nomClaseCorrecto(self.nomClase): logger.error('No se efectuo accion, Nombre de la clase invalido: '+self.nomClase) raise Exception(Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Nom_None')) if Valida.exitenciaClase(self.nomClase, self.dicClases): logger.error('No se efectuo accion, La clase: '+self.nomClase+' ya esta creada') raise Exception(Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Existente')) nvaClase = {} self.dicClases[self.nomClase] = nvaClase self.accionRealizada = True self.actualizarHistorial() logger.info("Clase creada :"+self.nomClase+" <ok>") else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Hacer_Accion")) print Accion.dicClases
def __init__(self, imgsAfectadas, claseOrigen, claseDestino): self.imgsAfectadas = imgsAfectadas self.claseOrigen = claseOrigen self.claseDestino = claseDestino self.accionRealizada = False if not Valida.exitenciaClase(self.claseOrigen, Accion.dicClases): self.logger.error("Clase "+claseOrigen+" inexistente") raise Exception(Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Existente')) if not Valida.exitenciaClase(self.claseDestino, Accion.dicClases): self.logger.error("Clase "+claseDestino+" inexistente") raise Exception(Util.getMnsjIdioma('Accion', 'Error_Crear_Clase_Existente')) if not Valida.imagenesExistenteOnClase(self.imgsAfectadas, Accion.dicClases[claseOrigen]): self.logger.error("Error imagenes incosistentes, no todas se encuentran en la clase origen: "+claseOrigen) raise Exception(Util.getMnsjIdioma('Accion', 'Error_Imagenes_Inconsistentes')) for img in imgsAfectadas: img.nomClaseCorrecto = claseOrigen self.removerImgs = EliminarImagen(imgsAfectadas) self.agregarImgs = AgregarImagen(imgsAfectadas)
def deshacerAccion(self): ''' Deshace la accion del propio objeto sin eliminarla del historial, es por eso que esta accion debe de ser llamada desde la funcion deshacerUtilmaAccion(self) ''' logger.info("Deshaciendo accion...") if self.accionRealizada: del self.dicClases[self.nomClase] self.accionRealizada = False logger.info("Deshaciendo accion <ok> Clase "+self.nomClase+" Eliminada") else: raise Exception(Util.getMnsjIdioma("Accion", "Error_Deshacer_Accion"))
def removerImagen(self, imagen): '''Remueve una imagen de la nomClaseCorrecto en la que se encuentra ''' if imagen.nomClaseCorrecto is None: raise Exception(Util.getMnsjIdioma("Accion", "Error_Remover_None")) try: del self.dicClases[imagen.nomClaseCorrecto][imagen.__hash__()] logger.info("Imagen "+imagen.source+" removida de la clase "+imagen.nomClaseCorrecto) except KeyError: logger.error("Clase "+imagen.nomClaseCorrecto+" inexistente") raise Exception(Util.getMnsjConf('Accion', 'Error_Clase_Inexistente')) except Exception as e: raise e
def removerImagen(self, imagen): '''Remueve una imagen de la nomClaseCorrecto en la que se encuentra ''' if imagen.nomClaseCorrecto is None: raise Exception(Util.getMnsjIdioma("Accion", "Error_Remover_None")) try: del self.dicClases[imagen.nomClaseCorrecto][imagen.__hash__()] logger.info("Imagen " + imagen.source + " removida de la clase " + imagen.nomClaseCorrecto) except KeyError: logger.error("Clase " + imagen.nomClaseCorrecto + " inexistente") raise Exception( Util.getMnsjConf('Accion', 'Error_Clase_Inexistente')) except Exception as e: raise e
def moverImagen(self, imagen, claseDestino): if imagen is not None: imagen.nomClaseCorrecto = claseDestino else: logger.error("Error la imagen es None no se puede mover") raise Exception(Util.getMnsjIdioma('Accion', 'Error_Imagen_None'))