From 6f30a8ab62585338566f91879f0be2dea86455ec Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Wed, 25 Sep 2002 22:07:50 +0000 Subject: [PATCH] __version__: Bump to 2.4 Move the imports of Parser and Message inside the message_from_string() and message_from_file() functions. This way just "import email" won't suck in most of the submodules of the package. Note: this will break code that relied on "import email" giving you a bunch of the submodules, but that was never documented and should not have been relied on. --- Lib/email/__init__.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Lib/email/__init__.py b/Lib/email/__init__.py index e18b568f7b..4d62a9fc9e 100644 --- a/Lib/email/__init__.py +++ b/Lib/email/__init__.py @@ -4,7 +4,7 @@ """A package for parsing, handling, and generating email messages. """ -__version__ = '2.3.1' +__version__ = '2.4' __all__ = ['Charset', 'Encoders', @@ -28,12 +28,19 @@ __all__ = ['Charset', -# Some convenience routines -from email.Parser import Parser as _Parser -from email.Message import Message as _Message +# Some convenience routines. Don't import Parser and Message as side-effects +# of importing email since those cascadingly import most of the rest of the +# email package. +def message_from_string(s, _class=None, strict=0): + from email.Parser import Parser + if _class is None: + from email.Message import Message + _class = Message + return Parser(_class, strict=strict).parsestr(s) -def message_from_string(s, _class=_Message, strict=0): - return _Parser(_class, strict=strict).parsestr(s) - -def message_from_file(fp, _class=_Message, strict=0): - return _Parser(_class, strict=strict).parse(fp) +def message_from_file(fp, _class=None, strict=0): + from email.Parser import Parser + if _class is None: + from email.Message import Message + _class = Message + return Parser(_class, strict=strict).parse(fp) -- 2.40.0