]> granicus.if.org Git - python/commitdiff
__version__: Bump to 2.4
authorBarry Warsaw <barry@python.org>
Wed, 25 Sep 2002 22:07:50 +0000 (22:07 +0000)
committerBarry Warsaw <barry@python.org>
Wed, 25 Sep 2002 22:07:50 +0000 (22:07 +0000)
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

index e18b568f7bd9d890eeb53a46d1b2b103f7de99e6..4d62a9fc9ec9ff48a9a7f2a2d6a9fac1895fcd3a 100644 (file)
@@ -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',
 
 
 \f
-# 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)