From 38e7f88f670589e1ffd61083a0f551369ba96d98 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Sat, 2 Nov 2019 01:28:19 -0400 Subject: email-print-mime-structure: parse argments This adds a -h and --help option, which is currently pretty useless. But the argparse will become useful shortly. Signed-off-by: Daniel Kahn Gillmor --- email-print-mime-structure | 9 ++++++++- email-print-mime-structure.1.pod | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/email-print-mime-structure b/email-print-mime-structure index 5eb94e0..38dc8d9 100755 --- a/email-print-mime-structure +++ b/email-print-mime-structure @@ -33,11 +33,15 @@ import sys import email import logging +from argparse import ArgumentParser, Namespace from typing import Optional, Union, List, Tuple, Any from email.charset import Charset from email.message import Message class MimePrinter(object): + def __init__(self, args:Namespace): + self.args = args + def print_part(self, z:Message, prefix:str) -> None: ofname:Optional[str] = z.get_filename() fname:str = '' if ofname is None else f' [{ofname}]' @@ -81,10 +85,13 @@ class MimePrinter(object): self.print_part(z, prefix+'─╴') def main() -> None: + parser:ArgumentParser = ArgumentParser(description='Read RFC2822 MIME message from stdin and emit a tree diagram to stdout.', + epilog="Example: email-print-mime-structure < message.eml") + args:Namespace = parser.parse_args() msg:Union[Message, str, int, Any] = email.message_from_file(sys.stdin) if isinstance(msg, Message): - printer:MimePrinter = MimePrinter() + printer:MimePrinter = MimePrinter(args) printer.test(msg, '└') else: logging.error('Input was not an e-mail message') diff --git a/email-print-mime-structure.1.pod b/email-print-mime-structure.1.pod index ab1ec05..03a8e29 100644 --- a/email-print-mime-structure.1.pod +++ b/email-print-mime-structure.1.pod @@ -19,7 +19,14 @@ something like "cat -n". =head1 OPTIONS -None. +=over 4 + +=item B<--help>, B<-h> + +Show usage instructions. + +=back + =head1 EXAMPLE -- cgit v1.2.3