Salome HOME
086da0ec3325f874d698997ce24bfd29f8f76fe5
[tools/eficas.git] / Traducteur / dictErreurs.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 import sets
5
6 jdcSet=sets.Set()
7
8
9 def EcritErreur(listeGena,ligne=None) :
10     from sys import dict_erreurs
11     maCle=""
12     for Mot in listeGena :
13         maCle=maCle+"_"+Mot
14     #try :
15     if ( 1 == 1) :
16         maClef=maCle[1:]
17         if maClef in dict_erreurs.keys() :
18            if ligne != None :
19               logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef])
20            else :
21               logging.warning("%s",dict_erreurs[maClef])
22         else :
23            maCle=""
24            for Mot in listeGena[:-1] :
25               maCle=maCle+"_"+Mot
26            maClef=maCle[1:]
27            maClef=maCle+"_"+"VALEUR"
28            if maClef in dict_erreurs.keys() :
29               if ligne != None :
30                   logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef])
31               else :
32                   logging.warning("%s",dict_erreurs[maClef])
33     #except :
34     #    pass
35
36 def GenereErreurPourCommande(jdc,listeCommande) :
37     commands= jdc.root.childNodes[:]
38     commands.reverse()
39     for c in commands:
40         jdcSet.add(c.name) 
41         for Mot in listeCommande :
42            if c.name != Mot :continue
43            EcritErreur((Mot,),c.lineno)
44
45 def GenereErreurMotCleInFact(jdc,command,fact,mocle):
46     for c in jdc.root.childNodes:
47         if c.name != command:continue
48         for mc in c.childNodes:
49             if mc.name != fact:continue
50             l=mc.childNodes[:]
51             for ll in l:
52                 for n in ll.childNodes:
53                     if n.name != mocle:
54                        continue
55                     else :
56                        EcritErreur((command,fact,mocle,),c.lineno)
57
58 def GenereErreurMCF(jdc,command,fact):
59     for c in jdc.root.childNodes:
60         if c.name != command:continue
61         for mc in c.childNodes:
62             if mc.name != fact:
63                 continue
64             else : 
65                 EcritErreur((command,fact,),c.lineno)
66
67 def GenereErreurValeur(jdc,command,fact,list_valeur):
68     for c in jdc.root.childNodes:
69         if c.name != command:continue
70         for mc in c.childNodes:
71             if mc.name != fact:continue
72             texte=mc.getText(jdc)
73             for valeur in list_valeur:
74                trouve=texte.find(valeur)
75                if trouve > -1 :  
76                   logging.warning("%s doit etre supprimee ou modifiee dans %s : ligne %d",valeur,c.name,mc.lineno)
77
78 def GenereErreurValeurDsMCF(jdc,command,fact,mocle,list_valeur):
79     for c in jdc.root.childNodes:
80         if c.name != command:continue
81         for mc in c.childNodes:
82             if mc.name != fact:continue
83             l=mc.childNodes[:]
84             for ll in l:
85                 for n in ll.childNodes:
86                     if n.name != mocle:continue
87                     texte=n.getText(jdc)
88                     for valeur in list_valeur:
89                         trouve=texte.find(valeur)
90                         if trouve > -1 :  
91                            logging.warning("%s doit etre supprimee ou modifiee dans %s : ligne %d",valeur,c.name,n.lineno)