-#@ MODIF N_MACRO Noyau DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS
+#@ MODIF N_MACRO Noyau DATE 16/05/2007 AUTEUR COURTOIS M.COURTOIS
# -*- coding: iso-8859-1 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
Cette classe a trois attributs de classe
- - class_instance qui indique la classe qui devra etre utilisée
- pour créer l'objet qui servira à controler la conformité d'un
- macro-commande avec sa définition
+ - class_instance qui indique la classe qui devra etre utilisée
+ pour créer l'objet qui servira à controler la conformité d'un
+ macro-commande avec sa définition
- - label qui indique la nature de l'objet de définition (ici, MACRO)
+ - label qui indique la nature de l'objet de définition (ici, MACRO)
- - nommage qui est un module Python qui fournit la fonctionnalité de nommage
+ - nommage qui est un module Python qui fournit la fonctionnalité de nommage
et les attributs d'instance suivants :
- - nom : son nom
+ - nom : son nom
- - op : le numéro d'opérateur
+ - op : le numéro d'opérateur
- - sd_prod : le type de concept produit. C'est une classe ou une fonction qui retourne
- une classe
+ - sd_prod : le type de concept produit. C'est une classe ou une fonction qui retourne
+ une classe
- - reentrant : vaut 'n' ou 'o'. Indique si l'opérateur est réentrant ou pas. Un opérateur
- réentrant peut modifier un concept d'entrée et le produire comme concept de sortie
+ - reentrant : vaut 'n' ou 'o'. Indique si l'opérateur est réentrant ou pas. Un opérateur
+ réentrant peut modifier un concept d'entrée et le produire comme concept de sortie
- - repetable : vaut 'n' ou 'o'. Indique si l'opérateur est répetable ou pas. Un opérateur
- non répétable ne doit apparaitre qu'une fois dans une exécution. C'est du ressort
- de l'objet gérant le contexte d'exécution de vérifier cette contrainte.
+ - repetable : vaut 'n' ou 'o'. Indique si l'opérateur est répetable ou pas. Un opérateur
+ non répétable ne doit apparaitre qu'une fois dans une exécution. C'est du ressort
+ de l'objet gérant le contexte d'exécution de vérifier cette contrainte.
- - fr : commentaire associé en francais
+ - fr : commentaire associé en francais
- - ang : commentaire associé en anglais
+ - ang : commentaire associé en anglais
- - docu : clé de documentation associée
+ - docu : clé de documentation associée
- - regles : liste des règles associées
+ - regles : liste des règles associées
- - op_init : cet attribut vaut None ou une fonction. Si cet attribut ne vaut pas None, cette
- fonction est exécutée lors des phases d'initialisation de l'étape associée.
+ - op_init : cet attribut vaut None ou une fonction. Si cet attribut ne vaut pas None, cette
+ fonction est exécutée lors des phases d'initialisation de l'étape associée.
- - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent etre
- rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement.
- Si niveau vaut None, l'opérateur est rangé au niveau global.
+ - niveau : indique le niveau dans lequel est rangé l'opérateur. Les opérateurs peuvent etre
+ rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement.
+ Si niveau vaut None, l'opérateur est rangé au niveau global.
- - entites : dictionnaire dans lequel sont stockés les sous entités de l'opérateur. Il s'agit
- des entités de définition pour les mots-clés : FACT, BLOC, SIMP. Cet attribut
- est initialisé avec args, c'est à dire les arguments d'appel restants.
+ - entites : dictionnaire dans lequel sont stockés les sous entités de l'opérateur. Il s'agit
+ des entités de définition pour les mots-clés : FACT, BLOC, SIMP. Cet attribut
+ est initialisé avec args, c'est à dire les arguments d'appel restants.
"""
Construit l'objet MACRO_ETAPE a partir de sa definition (self),
puis demande la construction de ses sous-objets et du concept produit.
"""
- nomsd=self.nommage.GetNomConceptResultat(self.nom)
+ # Glut MC (2007-05) / Sensibilité
+ # Précaution nécessaire pour la sensibilité (on fait 'exec' du texte d'une commande)
+ # car on n'a pas de "ligne" à décoder pour trouver le nom du résultat (à gauche
+ # du signe égal). Cà tombe bien, dans ce cas, sd_prod=None : pas de résultat !
+ if self.sd_prod != None:
+ nomsd=self.nommage.GetNomConceptResultat(self.nom)
+ else:
+ nomsd = None
etape= self.class_instance(oper=self,reuse=reuse,args=args)
etape.McBuild()
return etape.Build_sd(nomsd)