LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
lsst.pex.config.config.RecordingImporter Class Reference

Public Member Functions

 __init__ (self)
 
 __enter__ (self)
 
 __exit__ (self, *args)
 
 uninstall (self)
 
 find_spec (self, fullname, path, target=None)
 
 getModules (self)
 

Public Attributes

 origMetaPath
 

Protected Attributes

 _modules
 

Detailed Description

Importer (for `sys.meta_path`) that records which modules are being
imported.

*This class does not do any importing itself.*

Examples
--------
Use this class as a context manager to ensure it is properly uninstalled
when done:

>>> with RecordingImporter() as importer:
...     # import stuff
...     import numpy as np
... print("Imported: " + importer.getModules())

Definition at line 871 of file config.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.pex.config.config.RecordingImporter.__init__ ( self)

Definition at line 888 of file config.py.

888 def __init__(self):
889 self._modules = set()
890
daf::base::PropertySet * set
Definition fits.cc:931

Member Function Documentation

◆ __enter__()

lsst.pex.config.config.RecordingImporter.__enter__ ( self)

Definition at line 891 of file config.py.

891 def __enter__(self):
892 self.origMetaPath = sys.meta_path
893 sys.meta_path = [self] + sys.meta_path # type: ignore
894 return self
895

◆ __exit__()

lsst.pex.config.config.RecordingImporter.__exit__ ( self,
* args )

Definition at line 896 of file config.py.

896 def __exit__(self, *args):
897 self.uninstall()
898 return False # Don't suppress exceptions
899

◆ find_spec()

lsst.pex.config.config.RecordingImporter.find_spec ( self,
fullname,
path,
target = None )
Find a module.

Called as part of the ``import`` chain of events.

Parameters
----------
fullname : `str`
    Name of module.
path : `list` [`str`]
    Search path. Unused.
target : `~typing.Any`, optional
    Unused.

Definition at line 904 of file config.py.

904 def find_spec(self, fullname, path, target=None):
905 """Find a module.
906
907 Called as part of the ``import`` chain of events.
908
909 Parameters
910 ----------
911 fullname : `str`
912 Name of module.
913 path : `list` [`str`]
914 Search path. Unused.
915 target : `~typing.Any`, optional
916 Unused.
917 """
918 self._modules.add(fullname)
919 # Return None because we don't do any importing.
920 return None
921

◆ getModules()

lsst.pex.config.config.RecordingImporter.getModules ( self)
Get the set of modules that were imported.

Returns
-------
modules : `set` of `str`
    Set of imported module names.

Definition at line 922 of file config.py.

922 def getModules(self):
923 """Get the set of modules that were imported.
924
925 Returns
926 -------
927 modules : `set` of `str`
928 Set of imported module names.
929 """
930 return self._modules
931
932
933# type ignore because type checker thinks ConfigMeta is Generic when it is not

◆ uninstall()

lsst.pex.config.config.RecordingImporter.uninstall ( self)
Uninstall the importer.

Definition at line 900 of file config.py.

900 def uninstall(self):
901 """Uninstall the importer."""
902 sys.meta_path = self.origMetaPath
903

Member Data Documentation

◆ _modules

lsst.pex.config.config.RecordingImporter._modules
protected

Definition at line 889 of file config.py.

◆ origMetaPath

lsst.pex.config.config.RecordingImporter.origMetaPath

Definition at line 892 of file config.py.


The documentation for this class was generated from the following file: