diff --git a/Lib/mimetools.py b/Lib/mimetools.py index bb8a29934e7..81913bdf3d7 100644 --- a/Lib/mimetools.py +++ b/Lib/mimetools.py @@ -5,6 +5,8 @@ import os import rfc822 import tempfile +__all__ = ["Message","choose_boundary","encode","decode","copyliteral", + "copybinary"] class Message(rfc822.Message): """A derived class of rfc822.Message that knows about MIME headers and diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py index 9dc3645fd0d..444184bc4b1 100644 --- a/Lib/mimetypes.py +++ b/Lib/mimetypes.py @@ -27,6 +27,8 @@ import string import posixpath import urllib +__all__ = ["guess_type","guess_extension","read_mime_types","init"] + knownfiles = [ "/usr/local/etc/httpd/conf/mime.types", "/usr/local/lib/netscape/mime.types", diff --git a/Lib/mimify.py b/Lib/mimify.py index 34b0206c28a..cb86c9eb77b 100755 --- a/Lib/mimify.py +++ b/Lib/mimify.py @@ -29,6 +29,8 @@ QUOTE = '> ' # string replies are quoted with import re, string +__all__ = ["mimify","unmimify","mime_encode_header","mime_decode_header"] + qp = re.compile('^content-transfer-encoding:\\s*quoted-printable', re.I) base64_re = re.compile('^content-transfer-encoding:\\s*base64', re.I) mp = re.compile('^content-type:.*multipart/.*boundary="?([^;"\n]*)', re.I|re.S) diff --git a/Lib/test/test___all__.py b/Lib/test/test___all__.py index 079f98c8117..f11a0c706ab 100644 --- a/Lib/test/test___all__.py +++ b/Lib/test/test___all__.py @@ -3,7 +3,12 @@ import sys def check_all(modname): names = {} - exec "import %s" % modname in names + try: + exec "import %s" % modname in names + except ImportError: + # silent fail here seems the best route since some modules + # may not be available in all environments + return verify(hasattr(sys.modules[modname], "__all__"), "%s has no __all__ attribute" % modname) names = {} @@ -48,13 +53,7 @@ check_all("commands") check_all("compileall") check_all("copy") check_all("copy_reg") -try: - import bsddb -except ImportError: - if verbose: - print "can't import bsddb, so skipping dbhash" -else: - check_all("dbhash") +check_all("dbhash") check_all("dircache") check_all("dis") check_all("doctest") @@ -85,4 +84,7 @@ check_all("macpath") check_all("macurl2path") check_all("mailbox") check_all("mhlib") +check_all("mimetools") +check_all("mimetypes") +check_all("mimify") check_all("robotparser")