]>
git.madduck.net Git - etc/neomutt.git/blobdiff - .config/neomutt/buildmimetree.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
#
# Configuration:
# neomuttrc (needs to be a single line):
#
# Configuration:
# neomuttrc (needs to be a single line):
+# set my_mdwn_extensions="extra,admonition,codehilite,sane_lists,smarty"
-# <enter-command> source '$my_confdir/buildmimetree.py setup --tempdir $tempdir|'<enter>\
+# <enter-command> source '$my_confdir/buildmimetree.py setup \
+# --tempdir $tempdir --extensions $my_mdwn_extensions|'<enter>\
# <enter-command> sourc e \$my_mdwn_postprocess_cmd_file<enter>\
# " "Convert message into a modern MIME tree with inline images"
#
# <enter-command> sourc e \$my_mdwn_postprocess_cmd_file<enter>\
# " "Convert message into a modern MIME tree with inline images"
#
parser_massage = subp.add_parser("massage", help="Massaging phase")
parser_setup.add_argument(
parser_massage = subp.add_parser("massage", help="Massaging phase")
parser_setup.add_argument(
- "--extension",
- "-x",
- metavar="EXTENSION",
- dest="extensions",
- nargs="?",
- default=[],
- action="append",
- help="Markdown extension to add to the list of extensions use",
+ "--extensions",
+ type=str,
+ default="",
+ help="Markdown extension to use (comma-separated list)"
)
parser_setup.add_argument(
)
parser_setup.add_argument(
tempdir=None,
debug_commands=False,
):
tempdir=None,
debug_commands=False,
):
- extensions = extensions or []
temppath = temppath or pathlib.Path(
tempfile.mkstemp(prefix="muttmdwn-", dir=tempdir)[1]
)
temppath = temppath or pathlib.Path(
tempfile.mkstemp(prefix="muttmdwn-", dir=tempdir)[1]
)
editor = f"{sys.argv[0]} massage --write-commands-to {temppath}"
if extensions:
editor = f"{sys.argv[0]} massage --write-commands-to {temppath}"
if extensions:
- editor = f'{editor} --extensions {",".join(extensions) }'
+ editor = f'{editor} --extensions {extensions }'
if only_build:
editor = f'{editor} --only-build'
if tempdir:
if only_build:
editor = f'{editor} --only-build'
if tempdir:
depth-first, and responsible for telling NeoMutt how to assemble
the tree.
"""
depth-first, and responsible for telling NeoMutt how to assemble
the tree.
"""
if isinstance(item, Part):
# We've hit a leaf-node, i.e. an alternative or a related part
# with actual content.
if isinstance(item, Part):
# We've hit a leaf-node, i.e. an alternative or a related part
# with actual content.
# information, then we might just as well update the NeoMutt
# tree now:
if item.cid:
# information, then we might just as well update the NeoMutt
# tree now:
if item.cid:
- cmds.push(f"<edit-content-id>\\Ca\\Ck {item.cid}<enter>")
+ cmds.push(f"<edit-content-id>{KILL_LINE} {item.cid}<enter>")
elif isinstance(item, Multipart):
# This node has children, but we already visited them (see
elif isinstance(item, Multipart):
# This node has children, but we already visited them (see
# If the item has a description, we might just as well add it
if item.desc:
# If the item has a description, we might just as well add it
if item.desc:
- cmds.push(f"<edit-description>\\Ca\\Ck {item.desc}<enter>")
+ cmds.push(f"<edit-description>{KILL_LINE} {item.desc}<enter>")
# Finally, if we're at non-root level, tag the new container,
# as it might itself be part of a container, to be processed
# Finally, if we're at non-root level, tag the new container,
# as it might itself be part of a container, to be processed