summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-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)