Translate a subset of LaTeX into MoinMoin wiki syntax.
import sys, re
def dummy(d):
pass
NONE = "__@NONE@__"
tr_list = [
(r"\\includegraphics.*{(.*)\.eps}", "attachment::%s.png", dummy),
(r"\\caption{.*}", "", dummy),
(r"\\label{.*}", "", dummy),
(r"(.*)\\emph{(.*)}(.*)", """%s'''%s'''%s""", dummy),
(r"\\item (.*)", " * %s", dummy),
(r"\\begin{.*}", "", dummy),
(r"\\end{.*}", "", dummy),
(r"(.*)``(.*)''(.*)", "%s\"%s\"%s", dummy),
(r"\\chapter{(.*)}", NONE, dummy),
(r"\\paragraph{(.*)}", "==== %s ====", dummy),
(r"\\subsubsection{(.*)}", "==== %s ====", dummy),
(r"\\subsection{(.*)}", "=== %s ===", dummy),
(r"\\section{(.*)}", "== %s ==", dummy),
(r"(.*)\\fig{.*}(.*)", "%s suivant %s", dummy)
]
in_stream = open(sys.argv[1], "r")
if len(sys.argv) < 3:
out_stream = sys.stdout
else:
out_stream = open(sys.argv[2], "w")
for i in in_stream.readlines():
cur_write = 0
for reg in tr_list:
m = re.search(reg[0], i)
if m:
reg[2](i)
cur_write = 1
if reg[1] == NONE:
break
print >> out_stream, reg[1] % m.groups()
break
if not cur_write:
out_stream.write(i)