1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-04-18 21:24:07 +03:00
Georg Richter cd81266f44 Fixed build of manpages
To build manpages run cmake with option -DWITH_DOCS=ON.
Creation of man pages requires Python3 and Docygen.

The bundled manpaes were removed from repository.
2024-09-12 14:21:10 +02:00

56 lines
1.8 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')
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/%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))