LSSTApplications  19.0.0-14-gb0260a2+2d714fc2ef,20.0.0+34a42eae2c,20.0.0+76f397ef0c,20.0.0+8558dd3f48,20.0.0+a6b6977b51,20.0.0+b2ea66fa67,20.0.0+cc669a8b45,20.0.0+d561663fb5,20.0.0+d778e99126,20.0.0+efe67588cf,20.0.0+f45b7d88f4,20.0.0+f7c597f720,20.0.0+fb43bee9b9,20.0.0+fb4d547e0d,20.0.0-1-g10df615+d8b88ec1b5,20.0.0-1-g253301a+a6b6977b51,20.0.0-1-g498fb60+ff88705a28,20.0.0-1-g4d801e7+ce0d01dabd,20.0.0-1-g5b95a8c+24eaf908b3,20.0.0-1-g8a53f90+2817c06967,20.0.0-1-gc96f8cb+fb4d547e0d,20.0.0-1-gd1c87d7+2817c06967,20.0.0-1-gdb27ee5+abab67204f,20.0.0-13-ge998c5c+9f8c516ffa,20.0.0-18-g08fba245+88079d2923,20.0.0-2-gec03fae+fb98bf9d97,20.0.0-3-gdd5c15c+a61313b210,20.0.0-34-gdb4d86a+b43b2c05ff,20.0.0-4-g4a2362f+f45b7d88f4,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-gac0d578b1+a8c4e2ada3,20.0.0-5-gfcebe35+cfceff6a24,20.0.0-6-g01203fff+e332440eaf,20.0.0-8-gea2affd+48c001ce3c,20.0.0-9-gabd0d4c+abab67204f,20.0.0-9-gf3ab18e+fb4d547e0d,w.2020.33
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | List of all members
pex.config.config.RecordingImporter Class Reference

Public Member Functions

def __init__ (self)
 
def __enter__ (self)
 
def __exit__ (self, *args)
 
def uninstall (self)
 
def find_module (self, fullname, path=None)
 
def getModules (self)
 

Public Attributes

 origMetaPath
 

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 632 of file config.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 649 of file config.py.

649  def __init__(self):
650  self._modules = set()
651 

Member Function Documentation

◆ __enter__()

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

Definition at line 652 of file config.py.

652  def __enter__(self):
653  self.origMetaPath = sys.meta_path
654  sys.meta_path = [self] + sys.meta_path
655  return self
656 

◆ __exit__()

def pex.config.config.RecordingImporter.__exit__ (   self,
args 
)

Definition at line 657 of file config.py.

657  def __exit__(self, *args):
658  self.uninstall()
659  return False # Don't suppress exceptions
660 

◆ find_module()

def pex.config.config.RecordingImporter.find_module (   self,
  fullname,
  path = None 
)
Called as part of the ``import`` chain of events.

Definition at line 666 of file config.py.

666  def find_module(self, fullname, path=None):
667  """Called as part of the ``import`` chain of events.
668  """
669  self._modules.add(fullname)
670  # Return None because we don't do any importing.
671  return None
672 

◆ getModules()

def 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 673 of file config.py.

673  def getModules(self):
674  """Get the set of modules that were imported.
675 
676  Returns
677  -------
678  modules : `set` of `str`
679  Set of imported module names.
680  """
681  return self._modules
682 
683 

◆ uninstall()

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

Definition at line 661 of file config.py.

661  def uninstall(self):
662  """Uninstall the importer.
663  """
664  sys.meta_path = self.origMetaPath
665 

Member Data Documentation

◆ origMetaPath

pex.config.config.RecordingImporter.origMetaPath

Definition at line 653 of file config.py.


The documentation for this class was generated from the following file:
set
daf::base::PropertySet * set
Definition: fits.cc:912