+++ /dev/null
-# Copyright (C) 2001-2006 Python Software Foundation\r
-# Author: Barry Warsaw\r
-# Contact: email-sig@python.org\r
-\r
-"""A package for parsing, handling, and generating email messages."""\r
-\r
-__version__ = '4.0.3'\r
-\r
-__all__ = [\r
- # Old names\r
- 'base64MIME',\r
- 'Charset',\r
- 'Encoders',\r
- 'Errors',\r
- 'Generator',\r
- 'Header',\r
- 'Iterators',\r
- 'Message',\r
- 'MIMEAudio',\r
- 'MIMEBase',\r
- 'MIMEImage',\r
- 'MIMEMessage',\r
- 'MIMEMultipart',\r
- 'MIMENonMultipart',\r
- 'MIMEText',\r
- 'Parser',\r
- 'quopriMIME',\r
- 'Utils',\r
- 'message_from_string',\r
- 'message_from_file',\r
- # new names\r
- 'base64mime',\r
- 'charset',\r
- 'encoders',\r
- 'errors',\r
- 'generator',\r
- 'header',\r
- 'iterators',\r
- 'message',\r
- 'mime',\r
- 'parser',\r
- 'quoprimime',\r
- 'utils',\r
- ]\r
-\r
-\r
-\f\r
-# Some convenience routines. Don't import Parser and Message as side-effects\r
-# of importing email since those cascadingly import most of the rest of the\r
-# email package.\r
-def message_from_string(s, *args, **kws):\r
- """Parse a string into a Message object model.\r
-\r
- Optional _class and strict are passed to the Parser constructor.\r
- """\r
- from email.parser import Parser\r
- return Parser(*args, **kws).parsestr(s)\r
-\r
-\r
-def message_from_file(fp, *args, **kws):\r
- """Read a file and parse its contents into a Message object model.\r
-\r
- Optional _class and strict are passed to the Parser constructor.\r
- """\r
- from email.parser import Parser\r
- return Parser(*args, **kws).parse(fp)\r
-\r
-\r
-\f\r
-# Lazy loading to provide name mapping from new-style names (PEP 8 compatible\r
-# email 4.0 module names), to old-style names (email 3.0 module names).\r
-import sys\r
-\r
-class LazyImporter(object):\r
- def __init__(self, module_name):\r
- self.__name__ = 'email.' + module_name\r
-\r
- def __getattr__(self, name):\r
- __import__(self.__name__)\r
- mod = sys.modules[self.__name__]\r
- self.__dict__.update(mod.__dict__)\r
- return getattr(mod, name)\r
-\r
-\r
-_LOWERNAMES = [\r
- # email.<old name> -> email.<new name is lowercased old name>\r
- 'Charset',\r
- 'Encoders',\r
- 'Errors',\r
- 'FeedParser',\r
- 'Generator',\r
- 'Header',\r
- 'Iterators',\r
- 'Message',\r
- 'Parser',\r
- 'Utils',\r
- 'base64MIME',\r
- 'quopriMIME',\r
- ]\r
-\r
-_MIMENAMES = [\r
- # email.MIME<old name> -> email.mime.<new name is lowercased old name>\r
- 'Audio',\r
- 'Base',\r
- 'Image',\r
- 'Message',\r
- 'Multipart',\r
- 'NonMultipart',\r
- 'Text',\r
- ]\r
-\r
-for _name in _LOWERNAMES:\r
- importer = LazyImporter(_name.lower())\r
- sys.modules['email.' + _name] = importer\r
- setattr(sys.modules['email'], _name, importer)\r
-\r
-\r
-import email.mime\r
-for _name in _MIMENAMES:\r
- importer = LazyImporter('mime.' + _name.lower())\r
- sys.modules['email.MIME' + _name] = importer\r
- setattr(sys.modules['email'], 'MIME' + _name, importer)\r
- setattr(sys.modules['email.mime'], _name, importer)\r