Exemplo n.º 1
0
for (option, enum_name, requires_parameter) in opts_long:
    if first:
        arg_enum.append("	%s = 1000," % (enum_name))
        first = False
    else:
        arg_enum.append("	%s," % (enum_name))
arg_enum.append("};")
arg_enum = "\n".join(arg_enum) + "\n"

cmd_def = ["	const char *short_options = \"%s\";" % (short_string)]
cmd_def.append("	struct option long_options[] = {")
for (option, enum_name, requires_parameter) in opts_long:
    param = "\"%s\"," % (option)
    if requires_parameter:
        cmd_def.append("		{ %-30s required_argument, 0, %s }," %
                       (param, enum_name))
    else:
        cmd_def.append("		{ %-30s no_argument,       0, %s }," %
                       (param, enum_name))
cmd_def.append("		{ 0 }")
cmd_def.append("	};")
cmd_def = "\n".join(cmd_def) + "\n"

patcher = Patcher("../pgmopts.c")
patcher.patch("help page", help_code)
patcher.patch("command definition enum", arg_enum)
patcher.patch("command definition", cmd_def)

patcher = Patcher("../README.md", filetype="markdown")
patcher.patch("help page", markdown_help_page)
Exemplo n.º 2
0
import subprocess
from Patcher import Patcher


def _get_output(cmd):
    proc = subprocess.Popen(cmd,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT)
    (stdout, stderr) = proc.communicate()
    stdout = stdout.decode().rstrip("\r\n").lstrip("\r\n")
    return stdout


os.chdir("..")
patcher = Patcher("README.md", filetype="markdown")

stdout = _get_output(["./x509sak.py"])
text = "\n```\n$ ./x509sak.py\n%s\n```\n" % (stdout)
patcher.patch("summary", text)

commands = []
command_re = re.compile("Begin of cmd-(?P<cmdname>[a-z]+)")
for match in command_re.finditer(patcher.read()):
    cmdname = match.groupdict()["cmdname"]
    commands.append(cmdname)

for command in commands:
    stdout = _get_output(["./x509sak.py", command, "--help"])
    text = "\n```\n%s\n```\n" % (stdout)
    patcher.patch("cmd-%s" % (command), text)