parser_setup = subp.add_parser("setup", help="Setup phase")
parser_massage = subp.add_parser("massage", help="Massaging phase")
- parser_setup.add_argument(
- "--debug-commands",
- action="store_true",
- help="Turn on debug logging of commands generated to stderr",
- )
-
- parser_setup.add_argument(
- "--tempdir",
- default=None,
- help="Specify temporary directory to use for attachments",
- )
-
parser_setup.add_argument(
"--extension",
"-x",
)
parser_setup.add_argument(
- "--send-message",
+ "--only-build",
action="store_true",
- help="Generate command(s) to send the message after processing",
+ help="Only build, don't send the message",
)
- parser_massage.add_argument(
+ parser_setup.add_argument(
+ "--tempdir",
+ default=None,
+ help="Specify temporary directory to use for attachments",
+ )
+
+ parser_setup.add_argument(
"--debug-commands",
action="store_true",
help="Turn on debug logging of commands generated to stderr",
)
parser_massage.add_argument(
- "--debug-walk",
+ "--write-commands-to",
+ metavar="PATH",
+ dest="cmdpath",
+ help="Temporary file path to write commands to",
+ )
+
+ parser_massage.add_argument(
+ "--extensions",
+ metavar="EXTENSIONS",
+ type=str,
+ default="",
+ help="Markdown extension to use (comma-separated list)",
+ )
+
+ parser_massage.add_argument(
+ "--only-build",
action="store_true",
- help="Turn on debugging to stderr of the MIME tree walk",
+ help="Only build, don't send the message",
)
parser_massage.add_argument(
)
parser_massage.add_argument(
- "--extensions",
- metavar="EXTENSIONS",
- type=str,
- default="",
- help="Markdown extension to use (comma-separated list)",
+ "--debug-commands",
+ action="store_true",
+ help="Turn on debug logging of commands generated to stderr",
)
parser_massage.add_argument(
- "--write-commands-to",
- metavar="PATH",
- dest="cmdpath",
- help="Temporary file path to write commands to",
+ "--debug-walk",
+ action="store_true",
+ help="Turn on debugging to stderr of the MIME tree walk",
)
parser_massage.add_argument(
extensions=None,
*,
out_f=sys.stdout,
+ only_build=False,
temppath=None,
tempdir=None,
debug_commands=False,
editor = f"{sys.argv[0]} massage --write-commands-to {temppath}"
if extensions:
editor = f'{editor} --extensions {",".join(extensions)}'
+ if only_build:
+ editor = f'{editor} --only-build'
if tempdir:
editor = f"{editor} --tempdir {tempdir}"
if debug_commands:
*,
extensions=None,
converter=convert_markdown_to_html,
+ only_build=False,
tempdir=None,
debug_commands=False,
debug_walk=False,
# function
mimetree.walk(tree, visitor_fn=visitor_fn)
+ if not only_build:
+ cmds.push("<send-message>")
+
# Finally, cleanup. Since we're responsible for removing the temporary
# file, how's this for a little hack?
try:
args = parse_cli_args()
if args.mode == "setup":
- if args.send_message:
- raise NotImplementedError()
-
do_setup(
args.extensions,
+ only_build=args.only_build,
tempdir=args.tempdir,
debug_commands=args.debug_commands,
)
pathlib.Path(args.MAILDRAFT),
cmd_f,
extensions=args.extensions,
+ only_build=args.only_build,
tempdir=args.tempdir,
debug_commands=args.debug_commands,
debug_walk=args.debug_walk,
assert '="$my_edit_headers"' in lines.pop(0)
assert "unset my_editor" == lines.pop(0)
assert "unset my_edit_headers" == lines.pop(0)
+ assert "send-message" in lines.pop(0)
assert "update-encoding" in lines.pop(0)
assert "source 'rm -f " in lines.pop(0)
assert "unset my_mdwn_postprocess_cmd_file" == lines.pop(0)
captured = capsys.readouterr()
lines = captured.out.splitlines()[4:]
+ assert "send-message" in lines.pop(0)
assert "Related" in lines.pop(0)
assert "group-related" in lines.pop(0)
assert "tag-entry" in lines.pop(0)