def _consider(self, trace_collection, module_filename, module_package): assert module_package is None or ( type(module_package) is ModuleName and module_package != ""), repr(module_package) module_filename = os.path.normpath(module_filename) module_name, module_kind = getModuleNameAndKindFromFilename( module_filename) if module_kind is not None: module_fullpath = ModuleName.makeModuleNameInPackage( module_name, module_package) decision, reason = decideRecursion( module_filename=module_filename, module_name=module_fullpath, module_kind=module_kind, ) if decision: module_relpath = relpath(module_filename) imported_module, added_flag = recurseTo( module_package=module_package, module_filename=module_filename, module_relpath=module_relpath, module_kind=module_kind, reason=reason, ) if added_flag: trace_collection.signalChange( "new_code", imported_module.getSourceReference(), "Recursed to module.", ) return imported_module elif decision is False and module_kind == "py": uncompiled_module = getUncompiledModule( module_fullpath, module_filename) if uncompiled_module is not None: return uncompiled_module elif decision is None and module_kind == "py": if (module_filename not in self._warned_about and module_fullpath not in getModuleWhiteList()): self._warned_about.add(module_filename) warning("""\ Not recursing to '%(full_path)s' (%(filename)s), please specify \ --nofollow-imports (do not warn), \ --follow-imports (recurse to all), \ --nofollow-import-to=%(full_path)s (ignore it), \ --follow-import-to=%(full_path)s (recurse to it) to change.""" % { "full_path": module_fullpath, "filename": module_filename })
def _consider(self, constraint_collection, module_filename, module_package): assert module_package is None or \ (type(module_package) is str and module_package != "") module_filename = Utils.normpath(module_filename) module_name, module_kind = getModuleNameAndKindFromFilename(module_filename) if module_kind is not None: decision, reason = decideRecursion( module_filename = module_filename, module_name = module_name, module_package = module_package, module_kind = module_kind ) if decision: module_relpath = Utils.relpath(module_filename) imported_module, added_flag = recurseTo( module_package = module_package, module_filename = module_filename, module_relpath = module_relpath, module_kind = module_kind, reason = reason ) if added_flag: constraint_collection.signalChange( "new_code", imported_module.getSourceReference(), "Recursed to module." ) return imported_module elif decision is None and module_kind == "py": if module_package is None: module_fullpath = module_name else: module_fullpath = module_package + '.' + module_name if module_filename not in self._warned_about and \ module_fullpath not in getModuleWhiteList(): self._warned_about.add(module_filename) warning( """\ Not recursing to '%(full_path)s' (%(filename)s), please specify \ --recurse-none (do not warn), \ --recurse-all (recurse to all), \ --recurse-not-to=%(full_path)s (ignore it), \ --recurse-to=%(full_path)s (recurse to it) to change.""" % { "full_path" : module_fullpath, "filename" : module_filename } )
def _consider(self, trace_collection, module_filename, module_package): assert module_package is None or ( type(module_package) is str and module_package != "" ), repr(module_package) module_filename = os.path.normpath(module_filename) module_name, module_kind = getModuleNameAndKindFromFilename(module_filename) if module_kind is not None: if module_package is None: module_fullpath = module_name else: module_fullpath = module_package + "." + module_name decision, reason = decideRecursion( module_filename=module_filename, module_name=module_name, module_package=module_package, module_kind=module_kind, ) if decision: module_relpath = relpath(module_filename) imported_module, added_flag = recurseTo( module_package=module_package, module_filename=module_filename, module_relpath=module_relpath, module_kind=module_kind, reason=reason, ) if added_flag: trace_collection.signalChange( "new_code", imported_module.getSourceReference(), "Recursed to module.", ) return imported_module elif decision is False and module_kind == "py": uncompiled_module = getUncompiledModule( module_fullpath, module_filename ) if uncompiled_module is not None: return uncompiled_module elif decision is None and module_kind == "py": if ( module_filename not in self._warned_about and module_fullpath not in getModuleWhiteList() ): self._warned_about.add(module_filename) warning( """\ Not recursing to '%(full_path)s' (%(filename)s), please specify \ --nofollow-imports (do not warn), \ --follow-imports (recurse to all), \ --nofollow-import-to=%(full_path)s (ignore it), \ --follow-import-to=%(full_path)s (recurse to it) to change.""" % {"full_path": module_fullpath, "filename": module_filename} )