[PATCH 2 of 2] import-checker: list package directory as stdlib module
Yuya Nishihara
yuya at tcha.org
Mon Jan 4 08:58:25 CST 2016
# HG changeset patch
# User Yuya Nishihara <yuya at tcha.org>
# Date 1451227034 -32400
# Sun Dec 27 23:37:14 2015 +0900
# Node ID be0ee519b7a6a26839a712d3b481ca5b14aae187
# Parent 937c6a6dac98baaed78a5052890bc630e09b6848
import-checker: list package directory as stdlib module
Before this patch, a directory containing __init__.py wasn't counted as a
module and __init__.pyc was listed as foo.bar.__init__ module.
diff --git a/contrib/import-checker.py b/contrib/import-checker.py
--- a/contrib/import-checker.py
+++ b/contrib/import-checker.py
@@ -179,9 +179,6 @@ def list_stdlib_modules():
# consider them stdlib.
for m in ['msvcrt', '_winreg']:
yield m
- # These get missed too
- for m in 'ctypes', 'email', 'logging', 'multiprocessing':
- yield m
yield 'builtins' # python3 only
for m in 'fcntl', 'grp', 'pwd', 'termios': # Unix only
yield m
@@ -214,11 +211,12 @@ def list_stdlib_modules():
or top == libpath and d in ('hgext', 'mercurial')):
del dirs[i]
for name in files:
- if name == '__init__.py':
- continue
if not name.endswith(('.py', '.so', '.pyc', '.pyo', '.pyd')):
continue
- full_path = os.path.join(top, name)
+ if name.startswith('__init__.py'):
+ full_path = top
+ else:
+ full_path = os.path.join(top, name)
rel_path = full_path[len(libpath) + 1:]
mod = dotted_name_of_path(rel_path)
yield mod
More information about the Mercurial-devel
mailing list