summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemail-print-mime-structure9
-rw-r--r--email-print-mime-structure.1.pod9
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