diff options
author | Barry Warsaw <barry@python.org> | 2001-09-26 05:34:30 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 2001-09-26 05:34:30 (GMT) |
commit | 3dd978dfff316a521a899c9e17daa0795ec17edb (patch) | |
tree | 7b46bb159d83cdae94bd0ad4b687ce52b89550c9 /Lib/email/MIMEImage.py | |
parent | b384e01796fad1293256262e7ab022f176afce9a (diff) | |
download | cpython-3dd978dfff316a521a899c9e17daa0795ec17edb.zip cpython-3dd978dfff316a521a899c9e17daa0795ec17edb.tar.gz cpython-3dd978dfff316a521a899c9e17daa0795ec17edb.tar.bz2 |
Image.py and class Image => MIMEImage.py and MIMEImage
Text.py and class Text => MIMEText.py and MIMEText
MessageRFC822.py and class MessageRFC822 => MIMEMessage.py and MIMEMessage
These are renamed so as to be more consistent; these are MIME specific
derived classes for when creating the object model out of whole cloth.
Diffstat (limited to 'Lib/email/MIMEImage.py')
-rw-r--r-- | Lib/email/MIMEImage.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/email/MIMEImage.py b/Lib/email/MIMEImage.py new file mode 100644 index 0000000..963da23 --- /dev/null +++ b/Lib/email/MIMEImage.py @@ -0,0 +1,46 @@ +# Copyright (C) 2001 Python Software Foundation +# Author: barry@zope.com (Barry Warsaw) + +"""Class representing image/* type MIME documents. +""" + +import imghdr + +# Intrapackage imports +import MIMEBase +import Errors +import Encoders + + + +class MIMEImage(MIMEBase.MIMEBase): + """Class for generating image/* type MIME documents.""" + + def __init__(self, _imagedata, _subtype=None, + _encoder=Encoders.encode_base64, **_params): + """Create an image/* type MIME document. + + _imagedata is a string containing the raw image data. If this data + can be decoded by the standard Python `imghdr' module, then the + subtype will be automatically included in the Content-Type: header. + Otherwise, you can specify the specific image subtype via the _subtype + parameter. + + _encoder is a function which will perform the actual encoding for + transport of the image data. It takes one argument, which is this + Image instance. It should use get_payload() and set_payload() to + change the payload to the encoded form. It should also add any + Content-Transfer-Encoding: or other headers to the message as + necessary. The default encoding is Base64. + + Any additional keyword arguments are passed to the base class + constructor, which turns them into parameters on the Content-Type: + header. + """ + if _subtype is None: + _subtype = imghdr.what(None, _imagedata) + if _subtype is None: + raise TypeError, 'Could not guess image MIME subtype' + MIMEBase.MIMEBase.__init__(self, 'image', _subtype, **_params) + self.set_payload(_imagedata) + _encoder(self) |