X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Noyau%2FN_JDC_CATA.py;h=3f52de551fafa1de5bad301a7b14281d99eaa308;hb=9f4ff7ed9afd87c96e11d61e442e39e5511f60d1;hp=16c91665cda38ae92a893b1bad5252ab54f33ac8;hpb=16d5922e798b1254eb558678612711d72ed38b32;p=tools%2Feficas.git diff --git a/Noyau/N_JDC_CATA.py b/Noyau/N_JDC_CATA.py index 16c91665..3f52de55 100644 --- a/Noyau/N_JDC_CATA.py +++ b/Noyau/N_JDC_CATA.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# coding=utf-8 # Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or @@ -16,121 +16,119 @@ # 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 de definition JDC_CATA - qui permet de spécifier les caractéristiques d'un JDC + qui permet de spécifier les caractéristiques d'un JDC """ -import types,string,traceback +from __future__ import absolute_import +import types +import traceback -import N_ENTITE -import N_JDC -from strfunc import ufmt - -class JDC_CATA(N_ENTITE.ENTITE): - """ - Classe pour definir un jeu de commandes - - Attributs de classe : - - - class_instance qui indique la classe qui devra etre utilisée - pour créer l'objet qui servira à controler la conformité - du jeu de commandes avec sa définition - - - label qui indique la nature de l'objet de définition (ici, JDC) - - """ - class_instance = N_JDC.JDC - label = 'JDC' - - def __init__(self,code='',execmodul=None,regles=(),niveaux=(),**args): - """ - """ - self.code = code - self.execmodul=execmodul - if type(regles)== types.TupleType: - self.regles = regles - else: - self.regles=(regles,) - # Tous les arguments supplémentaires sont stockés dans l'attribut args - # et seront passés au JDC pour initialiser ses paramètres propres - self.args=args - self.d_niveaux={} - self.l_niveaux=niveaux - self.commandes=[] - for niveau in niveaux: - self.d_niveaux[niveau.nom]=niveau - # On change d'objet catalogue. Il faut d'abord mettre le catalogue - # courant à None - CONTEXT.unset_current_cata() - CONTEXT.set_current_cata(self) - - def __call__(self,procedure=None,cata=None,cata_ord_dico=None, - nom='SansNom',parent=None,**args): - """ - Construit l'objet JDC a partir de sa definition (self), - """ - return self.class_instance(definition=self,procedure=procedure, - cata=cata,cata_ord_dico=cata_ord_dico, - nom=nom, - parent=parent, - **args - ) - - def enregistre(self,commande): - """ - Methode qui permet aux definitions de commandes de s'enregistrer aupres - d'un JDC_CATA - """ - self.commandes.append(commande) - - def verif_cata(self): - """ - Méthode de vérification des attributs de définition - """ - self.check_regles() - self.verif_cata_regles() - - def verif_cata_regles(self): - """ - Cette méthode vérifie pour tous les objets stockés dans la liste entités - respectent les REGLES associés à self - """ - # A FAIRE - - def report(self): - """ - Methode pour produire un compte-rendu de validation d'un catalogue de commandes - """ - self.cr = self.CR(debut = u"Compte-rendu de validation du catalogue "+self.code, - fin = u"Fin Compte-rendu de validation du catalogue "+self.code) - self.verif_cata() - for commande in self.commandes: - cr = commande.report() - cr.debut = u"Début Commande :"+commande.nom - cr.fin = u"Fin commande :"+commande.nom - self.cr.add(cr) - return self.cr - - def supprime(self): - """ - Méthode pour supprimer les références arrières susceptibles de provoquer - des cycles de références - """ - for commande in self.commandes: - commande.supprime() - - def get_niveau(self,nom_niveau): - """ - Retourne l'objet de type NIVEAU de nom nom_niveau - ou None s'il n'existe pas - """ - return self.d_niveaux.get(nom_niveau,None) +from . import N_ENTITE +from . import N_JDC +class JDC_CATA(N_ENTITE.ENTITE): + """ + Classe pour definir un jeu de commandes + + Attributs de classe : + + - class_instance qui indique la classe qui devra etre utilisée + pour créer l'objet qui servira à controler la conformité + du jeu de commandes avec sa définition + + - label qui indique la nature de l'objet de définition (ici, JDC) + + """ + class_instance = N_JDC.JDC + label = 'JDC' + + def __init__(self, code='', execmodul=None, regles=(), niveaux=(), **args): + """ + """ + self.code = code + self.execmodul = execmodul + if type(regles) == tuple: + self.regles = regles + else: + self.regles = (regles,) + # Tous les arguments supplémentaires sont stockés dans l'attribut args + # et seront passés au JDC pour initialiser ses paramètres propres + self.args = args + self.d_niveaux = {} + self.l_niveaux = niveaux + self.commandes = [] + for niveau in niveaux: + self.d_niveaux[niveau.nom] = niveau + # On change d'objet catalogue. Il faut d'abord mettre le catalogue + # courant à None + CONTEXT.unset_current_cata() + CONTEXT.set_current_cata(self) + + def __call__(self, procedure=None, cata=None, cata_ord_dico=None, + nom='SansNom', parent=None, **args): + """ + Construit l'objet JDC a partir de sa definition (self), + """ + return self.class_instance(definition=self, procedure=procedure, + cata=cata, cata_ord_dico=cata_ord_dico, + nom=nom, + parent=parent, + **args + ) + + def enregistre(self, commande): + """ + Methode qui permet aux definitions de commandes de s'enregistrer aupres + d'un JDC_CATA + """ + self.commandes.append(commande) + + def verif_cata(self): + """ + Méthode de vérification des attributs de définition + """ + self.check_regles() + self.verif_cata_regles() + + def verif_cata_regles(self): + """ + Cette méthode vérifie pour tous les objets stockés dans la liste entités + respectent les REGLES associés à self + """ + # A FAIRE + + def report(self): + """ + Methode pour produire un compte-rendu de validation d'un catalogue de commandes + """ + self.cr = self.CR( + debut=u"Compte-rendu de validation du catalogue " + self.code, + fin=u"Fin Compte-rendu de validation du catalogue " + self.code) + self.verif_cata() + for commande in self.commandes: + cr = commande.report() + cr.debut = u"Début Commande :" + commande.nom + cr.fin = u"Fin commande :" + commande.nom + self.cr.add(cr) + return self.cr + + def supprime(self): + """ + Méthode pour supprimer les références arrières susceptibles de provoquer + des cycles de références + """ + for commande in self.commandes: + commande.supprime() + + def get_niveau(self, nom_niveau): + """ + Retourne l'objet de type NIVEAU de nom nom_niveau + ou None s'il n'existe pas + """ + return self.d_niveaux.get(nom_niveau, None)