import sndhdr
from cStringIO import StringIO
-import MIMEBase
-import Errors
-import Encoders
+from email import Errors
+from email import Encoders
+from email.MIMENonMultipart import MIMENonMultipart
\f
\f
-class MIMEAudio(MIMEBase.MIMEBase):
+class MIMEAudio(MIMENonMultipart):
"""Class for generating audio/* MIME documents."""
def __init__(self, _audiodata, _subtype=None,
_subtype = _whatsnd(_audiodata)
if _subtype is None:
raise TypeError, 'Could not find audio MIME subtype'
- MIMEBase.MIMEBase.__init__(self, 'audio', _subtype, **_params)
+ MIMENonMultipart.__init__(self, 'audio', _subtype, **_params)
self.set_payload(_audiodata)
_encoder(self)
"""Base class for MIME specializations.
"""
-import Message
+from email import Message
\f
import imghdr
-# Intrapackage imports
-import MIMEBase
-import Errors
-import Encoders
+from email import Errors
+from email import Encoders
+from email.MIMENonMultipart import MIMENonMultipart
\f
-class MIMEImage(MIMEBase.MIMEBase):
+class MIMEImage(MIMENonMultipart):
"""Class for generating image/* type MIME documents."""
def __init__(self, _imagedata, _subtype=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)
+ MIMENonMultipart.__init__(self, 'image', _subtype, **_params)
self.set_payload(_imagedata)
_encoder(self)
"""Class representing message/* MIME documents.
"""
-import Message
-import MIMEBase
+from email import Message
+from email.MIMENonMultipart import MIMENonMultipart
\f
-class MIMEMessage(MIMEBase.MIMEBase):
+class MIMEMessage(MIMENonMultipart):
"""Class representing message/* MIME documents."""
def __init__(self, _msg, _subtype='rfc822'):
default is "rfc822" (this is defined by the MIME standard, even though
the term "rfc822" is technically outdated by RFC 2822).
"""
- MIMEBase.MIMEBase.__init__(self, 'message', _subtype)
+ MIMENonMultipart.__init__(self, 'message', _subtype)
if not isinstance(_msg, Message.Message):
raise TypeError, 'Argument is not an instance of Message'
- self.set_payload(_msg)
+ # It's convenient to use this base class method. We need to do it
+ # this way or we'll get an exception
+ Message.Message.attach(self, _msg)
"""
import warnings
-import MIMEBase
-from Encoders import encode_7or8bit
+from email.MIMENonMultipart import MIMENonMultipart
+from email.Encoders import encode_7or8bit
\f
-class MIMEText(MIMEBase.MIMEBase):
+class MIMEText(MIMENonMultipart):
"""Class for generating text/* type MIME documents."""
def __init__(self, _text, _subtype='plain', _charset='us-ascii',
override any header settings indicated by _charset. This is probably
not what you want.
"""
- MIMEBase.MIMEBase.__init__(self, 'text', _subtype,
- **{'charset': _charset})
+ MIMENonMultipart.__init__(self, 'text', _subtype,
+ **{'charset': _charset})
if _text and _text[-1] <> '\n':
_text += '\n'
self.set_payload(_text, _charset)