mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 21:54:10 +01:00
63 lines
1.4 KiB
Python
63 lines
1.4 KiB
Python
|
from sys import argv
|
||
|
from datetime import date
|
||
|
from os.path import dirname, isdir
|
||
|
from os import makedirs, system
|
||
|
import re
|
||
|
|
||
|
sourcedir = argv[1]
|
||
|
outdir = argv[2]
|
||
|
|
||
|
if not isdir(outdir):
|
||
|
makedirs(outdir, 0755)
|
||
|
|
||
|
execfile(sourcedir + "/conf.py")
|
||
|
|
||
|
|
||
|
def header(file, startdocname, command, description, authors, section):
|
||
|
file.write("""
|
||
|
{0:s}
|
||
|
{1:s}
|
||
|
{2:s}
|
||
|
|
||
|
:Date: {3:s}
|
||
|
:Version: {4:s}
|
||
|
:Manual section: {5:d}
|
||
|
:Manual group: {6:s}
|
||
|
|
||
|
""".format(
|
||
|
'-' * len(description),
|
||
|
description,
|
||
|
'-' * len(description),
|
||
|
date.today().isoformat(), release, section, project))
|
||
|
|
||
|
blankre = re.compile("^\s*$")
|
||
|
for page in man_pages:
|
||
|
outdirname = outdir + '/' + dirname(page[0])
|
||
|
if not isdir(outdirname):
|
||
|
makedirs(outdirname, 0755)
|
||
|
filename = outdir + '/' + page[0] + '.rst'
|
||
|
outfile = open(filename, 'w')
|
||
|
infile = open(sourcedir + '/' + page[0] + '.rst', 'r')
|
||
|
|
||
|
# this is a crude hack. We look for the first blank line, and
|
||
|
# insert the rst2man header there.
|
||
|
#
|
||
|
# XXX consider really parsing input
|
||
|
|
||
|
count = 0
|
||
|
lines = infile.readlines()
|
||
|
for line in lines:
|
||
|
outfile.write(line)
|
||
|
if (blankre.match(line)):
|
||
|
break
|
||
|
count = count + 1
|
||
|
|
||
|
del lines[0:count + 1]
|
||
|
|
||
|
header(outfile, *page)
|
||
|
|
||
|
outfile.write("".join(lines))
|
||
|
outfile.close()
|
||
|
|
||
|
os.system('set -x; rst2man {0} {1}'.format(filename, outdir + '/' + page[0] + '.' + str(page[4])))
|