1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#!/usr/bin/env python3
import os, sys, re
f = open(sys.argv[1])
content = f.read()
f.close()
dirname = os.path.dirname(sys.argv[1])
regex = re.compile('{{(.+?)}}')
matches = regex.findall(content)
replacements = {}
for m in matches:
try:
f = open(os.path.join(dirname, m.strip()))
embedded = f.read()
except:
if (len(sys.argv) > 2):
try:
f = open (os.path.join(sys.argv[3], m.strip()))
embedded = f.read()
except:
embedded = ''
escaped = embedded.replace('\\', '\\\\')
replace = re.compile('{{' + m + '}}')
content = replace.sub(escaped, content)
f.close()
f = open(sys.argv[2], 'w')
f.write(content)
f.close()
|