def call_dbg(self, msg): from mpi4py import MPI comm = MPI.COMM_WORLD size = comm.Get_size() rank = comm.Get_rank() wpsLog.debug( "\n\n -------------< %s >-------------- MPI proc %d of %d (%x):" % ( msg, rank, size, os.getpid() ) ) wpsLog.debug( repr(traceback.format_stack()) + "\n\n" )
def getInstance(self, key): instance = self._instances.get(key, None) if instance is None: constructor = self._registry.get(key, None) wpsLog.debug(" Using %s '%s': %s " % (self.name, key, str(type(constructor)))) instance = constructor(key) self._instances[key] = instance return instance
def __init__( self, name, directory, package_path ): wpsLog.debug( "Init '%s' Module Registry: dir='%s' package='%s'" % ( name, directory, package_path ) ) self.name = name self._registry = {} subdirs = [ o for o in os.listdir(directory) if os.path.isdir(os.path.join(directory,o)) ] for modulename in subdirs: try: module = importlib.import_module( "."+modulename, package_path ) if hasattr( module, 'getConstructor' ): constructor = module.getConstructor() self._registry[modulename] = constructor wpsLog.debug( "Registering %s '%s'" % ( self.name, modulename ) ) except Exception: wpsLog.warning( "\n --------------- Error Registering %s '%s' --------------- \n %s" % ( self.name, modulename, traceback.format_exc() ) )
def getInstance( self, key ): constructor = self._registry.get( key, None ) wpsLog.debug( " Using %s '%s': %s " % ( self.name, key, str(type(constructor)) ) ) return constructor(key)