X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Ihm%2FI_PROC_ETAPE.py;h=86c298940760ecc2606beaf4b12d7047dcadb7fc;hb=217a9ce2f303b098ad28d282bb0df2dfeeeed3c2;hp=b4ebb72dab5ef4414e0ac712f22fea138bf0b2a3;hpb=8001ff4db171debb2a4e3d963af402e87e80b46e;p=tools%2Feficas.git diff --git a/Ihm/I_PROC_ETAPE.py b/Ihm/I_PROC_ETAPE.py index b4ebb72d..86c29894 100644 --- a/Ihm/I_PROC_ETAPE.py +++ b/Ihm/I_PROC_ETAPE.py @@ -1,32 +1,33 @@ -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# ====================================================================== -import I_ETAPE +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +from __future__ import absolute_import +from . import I_ETAPE -# import rajoutés suite à l'ajout de Build_sd --> à résorber +# import rajoutes suite a l'ajout de Build_sd --> a resorber import sys -import traceback,types,string +import traceback,types import Noyau from Noyau import N_Exception from Noyau.N_Exception import AsException -# fin import à résorber +from Extensions.eficas_exception import EficasException class PROC_ETAPE(I_ETAPE.ETAPE): def get_sdname(self): @@ -35,60 +36,60 @@ class PROC_ETAPE(I_ETAPE.ETAPE): def get_sdprods(self,nom_sd): """ Fonction : retourne le concept produit par l etape de nom nom_sd - s il existe sinon None + s il existe sinon None Une PROC ne produit aucun concept """ return None + def supprime_sdprods(self): + """ + Fonction: Lors d'une destruction d'etape, detruit tous les concepts produits + Une procedure n'en a aucun + """ + return + def delete_concept(self,sd): """ + Fonction : Mettre a jour les mots cles de l etape + suite a la disparition du concept sd + Seuls les mots cles simples MCSIMP font un traitement autre + que de transmettre aux fils + Inputs : - sd=concept detruit - Fonction : - Mettre a jour les mots cles de l etape - suite à la disparition du concept sd - Seuls les mots cles simples MCSIMP font un traitement autre - que de transmettre aux fils + - sd=concept detruit """ for child in self.mc_liste : child.delete_concept(sd) def replace_concept(self,old_sd,sd): """ + Fonction : Mettre a jour les mots cles de l etape + suite au remplacement du concept old_sd + Inputs : - old_sd=concept remplacé - sd=nouveau concept - Fonction : - Mettre a jour les mots cles de l etape - suite au remplacement du concept old_sd + - old_sd=concept remplace + - sd=nouveau concept """ for child in self.mc_liste : child.replace_concept(old_sd,sd) +#ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau def Build_sd(self): """ - Cette methode applique la fonction op_init au contexte du parent - et lance l'exécution en cas de traitement commande par commande - Elle doit retourner le concept produit qui pour une PROC est toujours None - En cas d'erreur, elle leve une exception : AsException ou EOFError + Methode de Noyau surchargee pour poursuivre malgre tout + si une erreur se produit pendant la creation du concept produit """ - if not self.isactif():return try: - if self.parent: - if type(self.definition.op_init) == types.FunctionType: - apply(self.definition.op_init,(self,self.parent.g_context)) - else: - pass - if self.jdc.par_lot == "NON" : - self.Execute() - except AsException,e: - raise AsException("Etape ",self.nom,'ligne : ',self.appel[0], - 'fichier : ',self.appel[1],e) - except EOFError: - self.reset_current_step() - raise - except : - l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2]) - raise AsException("Etape ",self.nom,'ligne : ',self.appel[0], - 'fichier : ',self.appel[1]+'\n', - string.join(l)) + sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self) + except AsException : + # Une erreur s'est produite lors de la construction du concept + # Comme on est dans EFICAS, on essaie de poursuivre quand meme + # Si on poursuit, on a le choix entre deux possibilites : + # 1. on annule la sd associee a self + # 2. on la conserve mais il faut la retourner + # En plus il faut rendre coherents sdnom et sd.nom + self.sd=None + self.sdnom=None + self.state="unchanged" + self.valid=0 +