1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-01 06:27:04 +03:00
Files
mariadb-connector-c/scripts/create_man
Georg Richter 10c67ee835 Man page fixes:
- Install created man pages when building with WITH_DOCS=ON
- Set version to 3.4
2024-10-25 10:37:47 +02:00

59 lines
1.9 KiB
Python
Executable File

#!/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')
parser.add_argument('--out', type=str, metavar='outputdir', help='Output directory')
parser.add_argument('--warn', type=int, default=0, metavar='warnings', help='Show warnings (off)')
args= parser.parse_args()
if not os.path.isdir(args.out):
os.mkdir(args.out)
func_list= read_content(args.funcs)
funcs= func_list.split(";")
for function in funcs:
try:
content= read_content("%s/%s.md" % (args.docs, function))
except:
if args.warn > 0:
print("warning: Function '%s' is not documented yet" % function)
continue
f= open("%s/%s.3.md" % (args.out, function), "w")
f.write(header(function, args.version))
f.write(replace_links(content))
f.close()
ret= os.system("pandoc --standalone --to man %s/%s.3.md -o %s/%s.3" % (args.out, function, args.out, function))
os.unlink("%s/%s.3.md" % (args.out, function))