X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Noyau%2FN_MCFACT.py;h=a1fc0c722b2c66c2384a0a25a9919e7253459b5e;hb=87031195495e1fc70dd3f6b9f5a974673590dc30;hp=6ea5200b579aa3eaa3b8931d11776cc7b74dfa0c;hpb=61f2a263b67981f299c496ce7ef8bccc3ac6e68b;p=tools%2Feficas.git diff --git a/Noyau/N_MCFACT.py b/Noyau/N_MCFACT.py index 6ea5200b..a1fc0c72 100644 --- a/Noyau/N_MCFACT.py +++ b/Noyau/N_MCFACT.py @@ -1,103 +1,114 @@ -#@ MODIF N_MCFACT Noyau DATE 07/09/2009 AUTEUR COURTOIS M.COURTOIS -# -*- coding: iso-8859-1 -*- -# RESPONSABLE COURTOIS M.COURTOIS -# 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-2021 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 +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -""" - Ce module contient la classe MCFACT qui sert à controler la valeur - d'un mot-clé facteur par rapport à sa définition portée par un objet +""" + Ce module contient la classe MCFACT qui sert à controler la valeur + d'un mot-clé facteur par rapport à sa définition portée par un objet de type ENTITE """ -import N_MCCOMPO +from __future__ import absolute_import +from . import N_MCCOMPO + class MCFACT(N_MCCOMPO.MCCOMPO): - """ - """ - nature = "MCFACT" - def __init__(self,val,definition,nom,parent): - """ - Attributs : - - val : valeur du mot clé simple - - definition - - nom - - parent - """ - self.definition=definition - self.nom=nom - self.val = val - self.parent = parent - self.valeur = self.GETVAL(self.val) - if parent : - self.jdc = self.parent.jdc - self.niveau = self.parent.niveau - self.etape = self.parent.etape - else: - # Le mot cle a été créé sans parent - self.jdc = None - self.niveau = None - self.etape = None - self.mc_liste=self.build_mc() - - def GETVAL(self,val): - """ - Retourne la valeur effective du mot-clé en fonction - de la valeur donnée. Defaut si val == None - """ - if (val is None and hasattr(self.definition,'defaut')) : - return self.definition.defaut - else: - return val - def get_valeur(self): - """ - Retourne la "valeur" d'un mot-clé facteur qui est l'objet lui-meme. - Cette valeur est utilisée lors de la création d'un contexte - d'évaluation d'expressions à l'aide d'un interpréteur Python - """ - return self + """ + """ + nature = "MCFACT" + + def __init__(self, val, definition, nom, parent,dicoPyxbDeConstruction): + """ + Attributs : + - val : valeur du mot clé simple + - definition + - nom + - parent + """ + #print ('MCFACT', self, val, definition, nom, parent, dicoPyxbDeConstruction) + #import traceback + #traceback.print_stack() + self.dicoPyxbDeConstruction=dicoPyxbDeConstruction + if self.dicoPyxbDeConstruction : + self.objPyxbDeConstruction=self.dicoPyxbDeConstruction['objEnPyxb'] + del self.dicoPyxbDeConstruction['objEnPyxb'] + else : + self.objPyxbDeConstruction=None + self.definition = definition + self.nom = nom + self.val = val + self.parent = parent + self.estIdentifiePar=None + self.valeur = self.getValeurEffective(self.val) + if parent: + self.jdc = self.parent.jdc + self.niveau = self.parent.niveau + self.etape = self.parent.etape + else: + # Le mot cle a été créé sans parent + self.jdc = None + self.niveau = None + self.etape = None + self.mcListe = self.buildMc() + + def getValeurEffective(self, val): + """ + Retourne la valeur effective du mot-clé en fonction + de la valeur donnée. Defaut si val == None + """ + if (val is None and hasattr(self.definition, 'defaut')): + return self.definition.defaut + else: + return val + + def getValeur(self): + """ + Retourne la "valeur" d'un mot-clé facteur qui est l'objet lui-meme. + Cette valeur est utilisée lors de la création d'un contexte + d'évaluation d'expressions à l'aide d'un interpréteur Python + """ + return self - def get_val(self): - """ - Une autre méthode qui retourne une "autre" valeur du mot clé facteur. - Elle est utilisée par la méthode get_mocle - """ - return [self] + def getVal(self): + """ + Une autre méthode qui retourne une "autre" valeur du mot clé facteur. + Elle est utilisée par la méthode getMocle + """ + return [self] - def __getitem__(self,key): - """ - Dans le cas d un mot cle facteur unique on simule une liste de - longueur 1 - """ - if key == 0:return self - return self.get_mocle(key) + def __getitem__(self, key): + """ + Dans le cas d un mot cle facteur unique on simule une liste de + longueur 1 + """ + if key == 0: + return self + return self.getMocle(key) - def accept(self,visitor): - """ - Cette methode permet de parcourir l'arborescence des objets - en utilisant le pattern VISITEUR - """ - visitor.visitMCFACT(self) + def accept(self, visitor): + """ + Cette methode permet de parcourir l'arborescence des objets + en utilisant le pattern VISITEUR + """ + visitor.visitMCFACT(self) - def makeobjet(self): - return self.definition.class_instance(val=None,nom=self.nom, - definition=self.definition,parent=self.parent) + def makeobjet(self): + return self.definition.class_instance(val=None, nom=self.nom, + definition=self.definition, parent=self.parent)