From: Georg Brandl Date: Sun, 5 Apr 2009 15:05:48 +0000 (+0000) Subject: #5453: fix SyntaxErrors using pydoc -k, caused by intentionally bad files in Pythons... X-Git-Tag: v3.1b1~379 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=126c879b406f24363bdfccffa16e62acc695aea1;p=thirdparty%2FPython%2Fcpython.git #5453: fix SyntaxErrors using pydoc -k, caused by intentionally bad files in Pythons test suite. --- diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 2aea8c0fa2c3..f68e72a5258e 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1922,8 +1922,12 @@ class ModuleScanner: if key is None: callback(None, modname, '') else: - loader = importer.find_module(modname) - if hasattr(loader,'get_source'): + try: + loader = importer.find_module(modname) + except SyntaxError: + # raised by tests for bad coding cookies or BOM + continue + if hasattr(loader, 'get_source'): try: source = loader.get_source(modname) except UnicodeDecodeError: @@ -1932,7 +1936,7 @@ class ModuleScanner: continue import io desc = source_synopsis(io.StringIO(source)) or '' - if hasattr(loader,'get_filename'): + if hasattr(loader, 'get_filename'): path = loader.get_filename(modname) else: path = None