#!/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)