diff options
Diffstat (limited to 'dev-python/pychecker/files/pychecker-0.8.17.std_lib.patch')
-rw-r--r-- | dev-python/pychecker/files/pychecker-0.8.17.std_lib.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-python/pychecker/files/pychecker-0.8.17.std_lib.patch b/dev-python/pychecker/files/pychecker-0.8.17.std_lib.patch new file mode 100644 index 0000000..5ddb59c --- /dev/null +++ b/dev-python/pychecker/files/pychecker-0.8.17.std_lib.patch @@ -0,0 +1,70 @@ +Index: pychecker-0.8.17/pychecker/warn.py +=================================================================== +--- pychecker-0.8.17.orig/pychecker/warn.py ++++ pychecker-0.8.17/pychecker/warn.py +@@ -391,16 +391,26 @@ def getBlackList(moduleList) : + pass + return blacklist + +-def getStandardLibrary() : ++def getStandardLibraries() : ++ """ ++ Return a list of standard libraries. ++ ++ @rtype: list of str or None ++ """ + if cfg().ignoreStandardLibrary : + try : + from distutils import sysconfig + +- std_lib = sysconfig.get_python_lib() +- path = os.path.split(std_lib) +- if path[1] == 'site-packages' : +- std_lib = path[0] +- return std_lib ++ std_libs = [ ++ sysconfig.get_python_lib(plat_specific=0), ++ sysconfig.get_python_lib(plat_specific=1) ++ ] ++ ret = [] ++ for std_lib in std_libs: ++ path = os.path.split(std_lib) ++ if path[1] == 'site-packages' : ++ ret.append(path[0]) ++ return ret + except ImportError : + return None + +@@ -409,12 +419,20 @@ def normalize_path(path): + + def removeWarnings(warnings, blacklist, std_lib, cfg): + if std_lib is not None: +- std_lib = normalize_path(std_lib) ++ std_lib = [normalize_path(p) for p in std_lib] + for index in range(len(warnings)-1, -1, -1) : + filename = normalize_path(warnings[index].file) +- if filename in blacklist or (std_lib is not None and +- utils.startswith(filename, std_lib)) : ++ if filename in blacklist: + del warnings[index] ++ elif std_lib: ++ found = False ++ for path in std_lib: ++ if utils.startswith(filename, path) : ++ del warnings[index] ++ found = True ++ break ++ if found: ++ continue + elif cfg.only: + # ignore files not specified on the cmd line if requested + if os.path.abspath(filename) not in cfg.files: +@@ -721,7 +739,7 @@ def find(moduleList, initialCfg, suppres + + std_lib = None + if cfg().ignoreStandardLibrary : +- std_lib = getStandardLibrary() ++ std_lib = getStandardLibraries() + return removeWarnings(warnings, getBlackList(cfg().blacklist), std_lib, + cfg()) + |