CMS 3D CMS Logo

TreeCrawler::mymf Class Reference

List of all members.

Public Member Functions

def __init__
def import_hook
def import_module
def load_module

Private Attributes

 _depgraph
 _globalarea
 _last_caller
 _localarea
 _types


Detailed Description

Definition at line 91 of file TreeCrawler.py.


Member Function Documentation

def TreeCrawler::mymf::__init__ (   self,
  args,
  kwargs 
)

Definition at line 92 of file TreeCrawler.py.

00092                                      :
00093         self._depgraph = {}
00094         self._types = {}
00095         self._last_caller = None
00096         #TODO - replace by environment variables CMSSW_BASE and CMSSW_RELEASE_BASE (*and* do it only if the global one is not empty like for IB areas)  
00097         self._localarea = os.path.expandvars('$CMSSW_BASE')
00098         self._globalarea = os.path.expandvars('$CMSSW_RELEASE_BASE')
00099         modulefinder.ModuleFinder.__init__(self,*args,**kwargs)
    def import_hook(self, name, caller=None, fromlist=None):

def TreeCrawler::mymf::import_hook (   self,
  name,
  caller = None,
  fromlist = None 
)

Definition at line 100 of file TreeCrawler.py.

00100                                                            :
00101         old_last_caller = self._last_caller
00102         try:
00103             self._last_caller = caller
00104             return modulefinder.ModuleFinder.import_hook(self,name,caller,fromlist)  
00105         finally:
00106             self._last_caller = old_last_caller
00107 
    def import_module(self,partnam,fqname,parent):

def TreeCrawler::mymf::import_module (   self,
  partnam,
  fqname,
  parent 
)

Definition at line 108 of file TreeCrawler.py.

00108                                                  :
00109                               
00110         if partnam in ("FWCore","os"):
00111             r = None
00112         else:
00113             r = modulefinder.ModuleFinder.import_module(self,partnam,fqname,parent)
00114             # since the modulefinder is not able to look into the global area when coming from the local area, we force a second try   
00115             if parent and not r and self._localarea != '' and self._globalarea != '':
00116                  parent.__file__ = parent.__file__.replace(self._localarea,self._globalarea)
00117                  parent.__path__[0] = parent.__path__[0].replace(self._localarea,self._globalarea)
00118             r = modulefinder.ModuleFinder.import_module(self,partnam,fqname,parent)
00119                                                          
00120         if r is not None:
00121             self._depgraph.setdefault(self._last_caller.__name__,{})[r.__name__] = 1
00122         return r
    def load_module(self, fqname, fp, pathname, (suffix, mode, type)):

def TreeCrawler::mymf::load_module (   self,
  fqname,
  fp,
  pathname,
  suffix,
  mode,
  type 
)

Definition at line 123 of file TreeCrawler.py.

00123                                                                      :
00124         r = modulefinder.ModuleFinder.load_module(self, fqname, fp, pathname, (suffix, mode, type))
00125         if r is not None:
00126             self._types[r.__name__] = type
00127         return r
00128 
00129 
def transformIntoGraph(depgraph,toplevel):


Member Data Documentation

TreeCrawler::mymf::_depgraph [private]

Definition at line 93 of file TreeCrawler.py.

TreeCrawler::mymf::_globalarea [private]

Definition at line 98 of file TreeCrawler.py.

TreeCrawler::mymf::_last_caller [private]

Definition at line 95 of file TreeCrawler.py.

TreeCrawler::mymf::_localarea [private]

Definition at line 97 of file TreeCrawler.py.

TreeCrawler::mymf::_types [private]

Definition at line 94 of file TreeCrawler.py.


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:53:04 2009 for CMSSW by  doxygen 1.5.4