mirror of
https://github.com/triqs/dft_tools
synced 2024-11-01 03:33:50 +01:00
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
|
import glob,re,os
|
||
|
|
||
|
def work(arg, dirname, names):
|
||
|
|
||
|
for fil in glob.glob(dirname+ "/*.rst") :
|
||
|
|
||
|
fi = fil[:-4]
|
||
|
lines = open(fil).readlines()
|
||
|
out = open(fi + ".rst", 'w')
|
||
|
def get_decal(line) : return len(line) - len(line.lstrip())
|
||
|
|
||
|
reading = False
|
||
|
ex_list = []
|
||
|
for line in lines :
|
||
|
|
||
|
if re.match("\s*.. compileblock\s*::.*",line) :
|
||
|
assert not reading
|
||
|
decal = get_decal(line)
|
||
|
reading = True
|
||
|
current_ex = []
|
||
|
out.write(decal*' ' + ".. triqs_example:: ./" + fi.rsplit('/',1)[-1] + "_%s"%len(ex_list) + ".cpp\n")
|
||
|
continue
|
||
|
|
||
|
if reading :
|
||
|
if line.strip()=='' or get_decal(line) > decal :
|
||
|
current_ex.append(line)
|
||
|
continue
|
||
|
else :
|
||
|
reading = False
|
||
|
ex_list.append(current_ex)
|
||
|
|
||
|
out.write(line)
|
||
|
|
||
|
if reading : ex_list.append(current_ex)
|
||
|
|
||
|
for n,ex in enumerate(ex_list) :
|
||
|
filename = fi + "_%s.cpp"%n
|
||
|
out = open(filename,'w')
|
||
|
print filename
|
||
|
for l in ex :
|
||
|
out.write(l)
|
||
|
#os.system("vim -c '%
|
||
|
|
||
|
os.path.walk('./', work, None)
|
||
|
|
||
|
# then
|
||
|
#find . -name "*_?.cpp" | xargs mvim
|
||
|
#macro ggVG Ctrl K
|
||
|
# :bufdo execute "normal! @a" | w:bufdo execute "normal! @a" | w
|