diff options
author | Barry Warsaw <barry@python.org> | 2001-10-11 15:43:00 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2001-10-11 15:43:00 (GMT) |
commit | e552882960e4caa26ec80465ee501da17bc29e51 (patch) | |
tree | 4dfbf32c7f2cad5071a576b58c50d925aff5e9b6 | |
parent | 4819e97a48e3e6584035c482d24953018bf2f851 (diff) | |
download | cpython-e552882960e4caa26ec80465ee501da17bc29e51.zip cpython-e552882960e4caa26ec80465ee501da17bc29e51.tar.gz cpython-e552882960e4caa26ec80465ee501da17bc29e51.tar.bz2 |
HeaderParser: A new subclass of Parser which only parses the message
headers. It does not parse the body of the message, instead simply
assigning it as a string to the container's payload. This can be much
faster when you're only interested in a message's header.
-rw-r--r-- | Lib/email/Parser.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/email/Parser.py b/Lib/email/Parser.py index 81763dc..44a0ca2 100644 --- a/Lib/email/Parser.py +++ b/Lib/email/Parser.py @@ -158,3 +158,19 @@ class Parser: container.add_payload(msg) else: container.add_payload(fp.read()) + + + +class HeaderParser(Parser): + """A subclass of Parser, this one only meaningfully parses message headers. + + This class can be used if all you're interested in is the headers of a + message. While it consumes the message body, it does not parse it, but + simply makes it available as a string payload. + + Parsing with this subclass can be considerably faster if all you're + interested in is the message headers. + """ + def _parsebody(self, container, fp): + # Consume but do not parse, the body + container.set_payload(fp.read()) |