changeset: 72770:3acf90f71178 branch: 2.7 user: Ned Deily date: Thu Oct 06 14:17:44 2011 -0700 files: Lib/pydoc.py description: Issue #7425: Prevent pydoc -k failures due to module import errors. (Backport to 2.7 of existing 3.x fix) diff -r 096b010ae90b -r 3acf90f71178 Lib/pydoc.py --- a/Lib/pydoc.py Thu Oct 06 14:17:41 2011 -0700 +++ b/Lib/pydoc.py Thu Oct 06 14:17:44 2011 -0700 @@ -52,7 +52,7 @@ # the current directory is changed with os.chdir(), an incorrect # path will be displayed. -import sys, imp, os, re, types, inspect, __builtin__, pkgutil +import sys, imp, os, re, types, inspect, __builtin__, pkgutil, warnings from repr import Repr from string import expandtabs, find, join, lower, split, strip, rfind, rstrip from traceback import extract_tb @@ -1968,10 +1968,11 @@ if modname[-9:] == '.__init__': modname = modname[:-9] + ' (package)' print modname, desc and '- ' + desc - try: import warnings - except ImportError: pass - else: warnings.filterwarnings('ignore') # ignore problems during import - ModuleScanner().run(callback, key) + def onerror(modname): + pass + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') # ignore problems during import + ModuleScanner().run(callback, key, onerror=onerror) # --------------------------------------------------- web browser interface

AltStyle によって変換されたページ (->オリジナル) /