]> granicus.if.org Git - python/commitdiff
#5453: fix SyntaxErrors using pydoc -k, caused by intentionally bad files in Pythons...
authorGeorg Brandl <georg@python.org>
Sun, 5 Apr 2009 15:05:48 +0000 (15:05 +0000)
committerGeorg Brandl <georg@python.org>
Sun, 5 Apr 2009 15:05:48 +0000 (15:05 +0000)
Lib/pydoc.py

index 2aea8c0fa2c3d6bbc695a7523b17dc32c44737bc..f68e72a5258e5d53437b50c29b7ce9faa725a9d4 100755 (executable)
@@ -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