Salome HOME
merge de la branche BR_dev_mars_06 (tag V1_10b5) dans la branche principale
[tools/eficas.git] / Traducteur / renamemocle.py
1 # -*- coding: utf-8 -*-
2 import logging
3 from parseur import FactNode
4 debug=1
5
6 #on n'a qu'un mocle par commande. 
7 #en fin de traitement, on remet à jour l'arbre syntaxique (lineno,colno,etc.)
8
9 def renamemocle(jdc,command,mocle,new_name):
10     for c in jdc.root.childNodes:
11         if c.name != command:continue
12         for mc in c.childNodes:
13             if mc.name != mocle:continue
14             if debug:print "Renommage de:",c.name,mc.name,mc.lineno,mc.colno
15             logging.info("Renommage de: %s, %s, %s, %s en %s",c.name,mc.name,mc.lineno,mc.colno,new_name)
16             s=jdc.getLines()[mc.lineno-1]
17             jdc.getLines()[mc.lineno-1]=s[:mc.colno]+new_name+s[mc.colno+len(mocle):]
18
19     jdc.reset(jdc.getSource())
20                 
21 def renamemocleinfact(jdc,command,fact,mocle,new_name):
22     for c in jdc.root.childNodes:
23         if c.name != command:continue
24         for mc in c.childNodes:
25             if mc.name != fact:continue
26             l=mc.childNodes[:]
27             #on itere a l'envers
28             l.reverse()
29             for ll in l:
30                 for n in ll.childNodes:
31                     if n.name != mocle:continue
32                     s=jdc.getLines()[n.lineno-1]
33                     jdc.getLines()[n.lineno-1]=s[:n.colno]+new_name+s[n.colno+len(mocle):]
34
35     jdc.reset(jdc.getSource())
36
37 def renamecommande(jdc,command,new_name):
38 # nom de la commande "ancien format" , nom de la commande " nouveau format "
39     for c in jdc.root.childNodes:
40         if c.name != command:continue
41         if debug:print "Renommage de:",c.name,new_name ,c.lineno,c.colno
42         logging.info("Renommage de: %s, %s, %s, %s en %s",c.name,"",c.lineno,c.colno,new_name)
43         s=jdc.getLines()[c.lineno-1]
44         jdc.getLines()[c.lineno-1]=s[:c.colno]+new_name+s[c.colno+len(command):]
45
46     jdc.reset(jdc.getSource())
47
48