Salome HOME
CCAR : mise a jour avec la version 7.3.23 du Noyau superviseur Aster
[tools/eficas.git] / AIDE / aide_objets.py
1 # -*- coding: utf-8 -*-
2 """
3 Ce module génère un objet INDEX par lecture et interprétation du fichier texte
4 le décrivant (ex : index_aide.py)
5 """
6
7 import os
8
9 class ITEM_INDEX :
10    """
11    Construit un objet ITEM_INDEX
12    """
13    def __init__(self,t_item):
14        self.t_item = t_item
15        self.init()
16
17    def init(self):
18        """
19        Initialise les structures de données de l'item
20        """
21        self.titre = ""
22        self.fichier = ""
23        self.l_items = []
24               
25    def build(self):
26        """
27        Construit les sous-items de self s'il y a lieu et retoruve le label et le fichier de l'item
28        dans le tuple
29        """
30        self.titre = self.t_item[0]
31        self.fichier = self.t_item[1]
32        l_items = self.t_item[2]
33        if l_items :
34           for item in l_items :
35              o = ITEM_INDEX(item)
36              o.build()
37              self.l_items.append(o)
38
39 class INDEX :
40    """
41    Construit un objet INDEX (non graphique) à partir de l'interprétation du fichier d'index
42    (type index_aide.py) passé en argument
43    """
44    def __init__(self,fichier_index):
45        self.fichier_index = fichier_index
46        self.init()
47        
48    def init(self):
49       """
50       Initialise les structures de données propres à l'index
51       """
52       self.titre = ""
53       self.fichier = None
54       self.l_items = []
55       
56    def build(self):
57       """
58       Lit le fichier index et l'interprète
59       """
60       txt = open(self.fichier_index,'r').read()
61       d = {}
62       d['repertoire']=os.path.dirname(self.fichier_index)
63       #txt = "items ="+txt
64       #print txt
65       exec txt in d
66       items = d.get("items",None)
67       if items :
68          self.titre = items[0]
69          self.fichier = items[1]
70          l_items = items[2]
71          for item in l_items :
72             o = ITEM_INDEX(item)
73             o.build()
74             self.l_items.append(o)
75
76       
77