]> git.lyx.org Git - lyx.git/blob - development/cmake/doc/ReplaceValues.py
Remove the need for perl if creating doc
[lyx.git] / development / cmake / doc / ReplaceValues.py
1 #! /usr/bin/env python
2 import sys
3 import re
4
5 Subst = {}  # map of desired substitutions
6 prog = re.compile("")
7
8 def createProg():
9     matchingS = "\\b|\\b".join(Subst.keys())
10     pattern = "".join(["(.*)(\\b", matchingS, "\\b)(.*)"])
11     return re.compile(pattern)
12
13 def SubstituteDataInLine(line):
14     result = line
15     m = prog.match(result)
16     if m:
17         return "".join([SubstituteDataInLine(m.group(1)),
18                         Subst[m.group(2)],
19                         SubstituteDataInLine(m.group(3))])
20     return line
21
22
23 def SubstituteDataInFile(InFile):
24     for line in open(InFile):
25         print SubstituteDataInLine(line[:-1])
26
27 ##########################################
28
29
30 args = sys.argv
31
32 del args[0] # we don't need the name ot this script
33 while len(args) > 0:
34     arg = args[0]
35     entry = args[0].split("=",1)
36     if len(entry) == 2:
37         key=entry[0]
38         val=entry[1]
39         if len(key) > 0:
40             Subst[key] = val
41     else:
42         prog = createProg()
43         SubstituteDataInFile(args[0])
44     del args[0]
45