1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 08:47:17 +01:00
SqMod/vendor/MDBC/scripts/create_man
2021-09-21 20:59:01 +03:00

55 lines
1.6 KiB
Python

#!/usr/bin/python3
import re
import os
import argparse
def read_content(file):
try:
f=open(file, "r")
content= f.read()
f.close()
except:
raise
return content
def header(function, version):
hdr= "%% %s(3) Version %s | MariaDB Connector/C\n" % (function, version)
return hdr
def replace_links(content):
links= list(re.compile(r'\[([^\]]+)\]\(([^)]+)\)').findall(content))
for l in links:
search= "[%s()](%s)" % (l[1], l[1])
replace= "**%s(3)**" % l[1]
content= content.replace(search, replace)
return content
parser= argparse.ArgumentParser(prog="create_man.py",
description="Create man pages for MariaDB Connector/C")
parser.add_argument('--docs', type=str, metavar='docs', help='Directory of MariaDB Connector/C documentation')
parser.add_argument('--funcs', type=str, metavar='funcs', help='File which contains exported functions.')
parser.add_argument('--version', type=str, metavar='version', help='Connector/C version')
args= parser.parse_args()
print(args)
func_list= read_content(args.funcs)
funcs= func_list.split(";")
for function in funcs:
try:
print("%s/%s.md" % (args.docs, function))
content= read_content("%s/%s.md" % (args.docs, function))
except:
print("warning: No documentation for function %s found" % function)
continue
f= open("%s.3.md" % function, "w")
f.write(header(function, args.version))
f.write(replace_links(content))
f.close()
ret= os.system("pandoc --standalone --to man %s.3.md -o man/%s.3" % (function, function))
os.unlink("%s.3.md" % function)