class documentation

class twisted.python.modules._ModuleIteratorHelper: (source)

Known subclasses: twisted.python.modules.PathEntry, twisted.python.modules.PythonModule

View In Hierarchy

This mixin provides common behavior between python module and path entries, since the mechanism for searching sys.path and __path__ attributes is remarkably similar.

Method iterModules Loop over the modules present below this entry or package on PYTHONPATH.
Method walkModules Similar to iterModules, this yields self, and then every module in my package or entry, and every submodule in each package or entry.
Method __getitem__ Retrieve a module from below this path or package.
Method __iter__ Implemented to raise NotImplementedError for clarity, so that attempting to loop over this object won't call __getitem__.
Method _subModuleName This is a hook to provide packages with the ability to specify their names as a prefix to submodules here.
Method _packagePaths Implement in subclasses to specify where to look for modules.
Method _getEntry Implement in subclasses to specify what path entry submodules will come from.
def iterModules(self): (source)

Loop over the modules present below this entry or package on PYTHONPATH.

For modules which are not packages, this will yield nothing.

For packages and path entries, this will only yield modules one level down; i.e. if there is a package a.b.c, iterModules on a will only return a.b. If you want to descend deeply, use walkModules.

Returnsa generator which yields PythonModule instances that describe modules which can be, or have been, imported.
def walkModules(self, importPackages=False): (source)

Similar to iterModules, this yields self, and then every module in my package or entry, and every submodule in each package or entry.

In other words, this is deep, and iterModules is shallow.

def _subModuleName(self, mn): (source)

This is a hook to provide packages with the ability to specify their names as a prefix to submodules here.

def _packagePaths(self): (source)

Implement in subclasses to specify where to look for modules.

Returnsiterable of FilePath-like objects.
def _getEntry(self): (source)

Implement in subclasses to specify what path entry submodules will come from.

Returnsa PathEntry instance.
def __getitem__(self, modname): (source)

Retrieve a module from below this path or package.

Parametersmodnamea str naming a module to be loaded. For entries, this is a top-level, undotted package name, and for packages it is the name of the module without the package prefix. For example, if you have a PythonModule representing the 'twisted' package, you could use:
    twistedPackageObj['python']['modules']

to retrieve this module.

Returnsa PythonModule.
RaisesKeyErrorif the module is not found.
def __iter__(self): (source)

Implemented to raise NotImplementedError for clarity, so that attempting to loop over this object won't call __getitem__.

Note: in the future there might be some sensible default for iteration, like 'walkEverything', so this is deliberately untested and undefined behavior.

API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.