summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2002-09-25 22:07:50 (GMT)
committerBarry Warsaw <barry@python.org>2002-09-25 22:07:50 (GMT)
commit6f30a8ab62585338566f91879f0be2dea86455ec (patch)
tree7f405b8fb8a22541d7ee60ed932a14c2705d03c0
parentd80032b009a4ce24f0068ad68cf9215993208958 (diff)
downloadcpython-6f30a8ab62585338566f91879f0be2dea86455ec.zip
cpython-6f30a8ab62585338566f91879f0be2dea86455ec.tar.gz
cpython-6f30a8ab62585338566f91879f0be2dea86455ec.tar.bz2
__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.
-rw-r--r--Lib/email/__init__.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/Lib/email/__init__.py b/Lib/email/__init__.py
index e18b568..4d62a9f 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)