X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Editeur%2Fautre_analyse_cata.py;h=359b8bdfdb6409d50466be8ba5e608dd37efa19b;hb=HEAD;hp=0848eb1417b98c6874d44655c7c26a30c3bd8a50;hpb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;p=tools%2Feficas.git diff --git a/Editeur/autre_analyse_cata.py b/Editeur/autre_analyse_cata.py index 0848eb14..359b8bdf 100644 --- a/Editeur/autre_analyse_cata.py +++ b/Editeur/autre_analyse_cata.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2021 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,42 +24,42 @@ from __future__ import absolute_import from __future__ import print_function if __name__ == "__main__" : - import sys - sys.path[:0]=[".."] - sys.path[:0]=["../Aster"] - sys.path[:0]=["../Saturne"] + import sys + sys.path[:0]=[".."] + sys.path[:0]=["../Aster"] + sys.path[:0]=["../Saturne"] from Accas import NUPL def traiteEntiteNUPL(entite): - """ - Fonction speciale pour les nuplets (classe NUPL) - Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc - qui est une liste vide. - """ - entite.ordre_mc=[] + """ + Fonction speciale pour les nuplets (classe NUPL) + Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc + qui est une liste vide. + """ + entite.ordre_mc=[] def traiteEntite(entite,liste_simp_reel): - """ - Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc - qui est une liste contenant le nom des sous entites dans l'ordre - de leur apparition dans le catalogue. - L'ordre d'apparition dans le catalogue est donne par l'attribut _no - de l'entite - La fonction active le meme type de traitement pour les sous entites - de entite - """ - l=[] - for k,v in list(entite.entites.items()): - if isinstance(v,NUPL): - traiteEntiteNUPL(v) - else: - traiteReel(v,liste_simp_reel) - traiteEntite(v,liste_simp_reel) - traiteCache(v) - l.append((v._no,k)) - l.sort() - entite.ordre_mc=[ item for index, item in l ] + """ + Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc + qui est une liste contenant le nom des sous entites dans l'ordre + de leur apparition dans le catalogue. + L'ordre d'apparition dans le catalogue est donne par l'attribut _no + de l'entite + La fonction active le meme type de traitement pour les sous entites + de entite + """ + l=[] + for k,v in list(entite.entites.items()): + if isinstance(v,NUPL): + traiteEntiteNUPL(v) + else: + traiteReel(v,liste_simp_reel) + traiteEntite(v,liste_simp_reel) + traiteCache(v) + l.append((v._no,k)) + l.sort() + entite.ordre_mc=[ item for index, item in l ] def traiteCache(objet): if not hasattr(objet, "cache"): return @@ -67,63 +67,63 @@ def traiteCache(objet): clef=objet.nom if objet.equiv != None : clef=objet.equiv if hasattr(objet.pere,"mcOblig"): - objet.pere.mcOblig[clef]=objet.defaut + objet.pere.mcOblig[clef]=objet.defaut else : - objet.pere.mcOblig={} - objet.pere.mcOblig[clef]=objet.defaut + objet.pere.mcOblig={} + objet.pere.mcOblig[clef]=objet.defaut def traiteReel(objet,liste_simp_reel): if objet.__class__.__name__ == "SIMP": - if ( 'R' in objet.type): - if objet.nom not in liste_simp_reel : - liste_simp_reel.append(objet.nom) + if ( 'R' in objet.type): + if objet.nom not in liste_simp_reel : + liste_simp_reel.append(objet.nom) def analyseNiveau(cata_ordonne_dico,niveau,liste_simp_reel): - """ - Analyse un niveau dans un catalogue de commandes - """ - if niveau.l_niveaux == (): - # Il n'y a pas de sous niveaux - for oper in niveau.entites: - traiteEntite(oper,liste_simp_reel) - cata_ordonne_dico[oper.nom]=oper - else: - for niv in niveau.l_niveaux: - analyseNiveau(cata_ordonne_dico,niv) - + """ + Analyse un niveau dans un catalogue de commandes + """ + if niveau.l_niveaux == (): + # Il n'y a pas de sous niveaux + for oper in niveau.entites: + traiteEntite(oper,liste_simp_reel) + cata_ordonne_dico[oper.nom]=oper + else: + for niv in niveau.l_niveaux: + analyseNiveau(cata_ordonne_dico,niv) + def analyseCatalogue(cata): - """ - Cette fonction analyse le catalogue cata pour construire avec l'aide - de traiteEntite la structure de donnees ordre_mc qui donne l'ordre - d'apparition des mots cles dans le catalogue - Elle retourne un dictionnaire qui contient toutes les commandes - du catalogue indexees par leur nom - """ - cata_ordonne_dico={} - liste_simp_reel=[] - if cata.JdC.l_niveaux == (): - # Il n'y a pas de niveaux - for oper in cata.JdC.commandes: - traiteEntite(oper,liste_simp_reel) - cata_ordonne_dico[oper.nom]=oper - else: - for niv in cata.JdC.l_niveaux: - analyseNiveau(cata_ordonne_dico,niv,liste_simp_reel) - return cata_ordonne_dico,liste_simp_reel + """ + Cette fonction analyse le catalogue cata pour construire avec l'aide + de traiteEntite la structure de donnees ordre_mc qui donne l'ordre + d'apparition des mots cles dans le catalogue + Elle retourne un dictionnaire qui contient toutes les commandes + du catalogue indexees par leur nom + """ + cata_ordonne_dico={} + liste_simp_reel=[] + if cata.JdC.l_niveaux == (): + # Il n'y a pas de niveaux + for oper in cata.JdC.commandes: + traiteEntite(oper,liste_simp_reel) + cata_ordonne_dico[oper.nom]=oper + else: + for niv in cata.JdC.l_niveaux: + analyseNiveau(cata_ordonne_dico,niv,liste_simp_reel) + return cata_ordonne_dico,liste_simp_reel if __name__ == "__main__" : - from Cata import cata_STA6 - dico=analyseCatalogue(cata_STA6) - #import cata_saturne - #dico=analyseCatalogue(cata_saturne) + from Cata import cata_STA6 + dico=analyseCatalogue(cata_STA6) + #import cata_saturne + #dico=analyseCatalogue(cata_saturne) - def print_entite(entite,dec=' '): - print (dec,entite.nom,entite.__class__.__name__) - for mocle in entite.ordre_mc: - print_entite(entite.entites[mocle],dec=dec+' ') + def print_entite(entite,dec=' '): + print (dec,entite.nom,entite.__class__.__name__) + for mocle in entite.ordre_mc: + print_entite(entite.entites[mocle],dec=dec+' ') - for k,v in list(dico.items()): - print_entite(v,dec='') + for k,v in list(dico.items()): + print_entite(v,dec='') - print (dico) + print (dico)