summaryrefslogtreecommitdiff
path: root/Lib/email/Image.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2001-09-23 03:17:28 +0000
committerBarry Warsaw <barry@python.org>2001-09-23 03:17:28 +0000
commitba92580f01b47ba1468c382961ed5122654c2520 (patch)
tree413464c274da1a93dc99d0a1cf13baf9a99c3220 /Lib/email/Image.py
parentd61d0d3f6dbd960a761c05ff7fea848cb6490aa3 (diff)
downloadcpython-git-ba92580f01b47ba1468c382961ed5122654c2520.tar.gz
The email package version 1.0, prototyped as mimelib
<http://sf.net/projects/mimelib>. There /are/ API differences between mimelib and email, but most of the implementations are shared (except where cool Py2.2 stuff like generators are used).
Diffstat (limited to 'Lib/email/Image.py')
-rw-r--r--Lib/email/Image.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/email/Image.py b/Lib/email/Image.py
new file mode 100644
index 0000000000..d350785b35
--- /dev/null
+++ b/Lib/email/Image.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 Image(MIMEBase.MIMEBase):
+ """Class for generating image/* type MIME documents."""
+
+ def __init__(self, _imagedata, _minor=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 _minor
+ 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 _minor is None:
+ _minor = imghdr.what(None, _imagedata)
+ if _minor is None:
+ raise TypeError, 'Could not guess image _minor type'
+ MIMEBase.MIMEBase.__init__(self, 'image', _minor, **_params)
+ self.set_payload(_imagedata)
+ _encoder(self)