def _reportImplicitImports(implicit_imports, signal_change): from nuitka.importing import Recursion from nuitka.importing.Importing import getModuleNameAndKindFromFilename for full_name, module_filename in implicit_imports: _module_name2, module_kind = getModuleNameAndKindFromFilename( module_filename) # This will get back to all other plugins allowing them to inhibit it though. decision, reason = Recursion.decideRecursion( module_filename=module_filename, module_name=full_name, module_kind=module_kind, ) if decision: imported_module, added_flag = Recursion.recurseTo( module_package=full_name.getPackageName(), module_filename=module_filename, module_relpath=relpath(module_filename), module_kind=module_kind, reason=reason, ) addUsedModule(imported_module) if added_flag: signal_change( "new_code", imported_module.getSourceReference(), "Recursed to module.", )
def _reportImplicitImports(plugin, module, implicit_imports, signal_change): from nuitka.importing import Recursion from nuitka.importing.Importing import getModuleNameAndKindFromFilename for full_name, module_filename in implicit_imports: _module_name2, module_kind = getModuleNameAndKindFromFilename( module_filename) # This will get back to all other plugins allowing them to inhibit it though. decision, reason = Recursion.decideRecursion( module_filename=module_filename, module_name=full_name, module_kind=module_kind, ) if decision: imported_module = Recursion.recurseTo( signal_change=signal_change, module_name=full_name, module_filename=module_filename, module_kind=module_kind, reason=reason, ) addUsedModule( module=imported_module, using_module=module, usage_tag="plugin:" + plugin.plugin_name, reason=reason, source_ref=module.source_ref, )
def decideRecursion(module_filename, module_name, module_package, module_kind): from nuitka.importing import Recursion decision, reason = Recursion.decideRecursion( module_filename=module_filename, module_name=module_name, module_package=module_package, module_kind=module_kind) return decision, reason
def decideRecursion(module_filename, module_name, module_package, module_kind): from nuitka.importing import Recursion decision, reason = Recursion.decideRecursion( module_filename=module_filename, module_name=module_name, module_package=module_package, module_kind=module_kind, ) return decision, reason
def decideRecursion(module_filename, module_name, module_kind): """Decide whether Nuitka should recurse down to a given module. Args: module_filename: filename module_name: full module name module_kind: one of "py" or "shlib" (shared library) Returns: (decision, reason) where decision is either a bool or None, and reason is a string message. """ from nuitka.importing import Recursion decision, reason = Recursion.decideRecursion( module_filename=module_filename, module_name=module_name, module_kind=module_kind, ) return decision, reason