Simplify module loader (master already checked in)

pull/35/head
David Wilson 9 years ago
parent 1d4e63947f
commit eeecf0f984

@ -140,8 +140,6 @@ class SlaveModuleImporter(object):
:param context: Context to communicate via. :param context: Context to communicate via.
""" """
_absent = None
def __init__(self, context): def __init__(self, context):
self._context = context self._context = context
self._lock = threading.RLock() self._lock = threading.RLock()
@ -152,9 +150,6 @@ class SlaveModuleImporter(object):
LOG.debug('SlaveModuleImporter.find_module(%r)', fullname) LOG.debug('SlaveModuleImporter.find_module(%r)', fullname)
if fullname in self._ignore: if fullname in self._ignore:
return None return None
if fullname in self._absent:
LOG.debug('%r: master indicates %r does not exist', self, fullname)
return None
pkgname, _, _ = fullname.rpartition('.') pkgname, _, _ = fullname.rpartition('.')
if fullname not in self._present.get(pkgname, ()): if fullname not in self._present.get(pkgname, ()):
@ -179,13 +174,12 @@ class SlaveModuleImporter(object):
if ret is None: if ret is None:
raise ImportError('Master does not have %r' % (fullname,)) raise ImportError('Master does not have %r' % (fullname,))
is_pkg, absent, present, path, data = ret is_pkg, present, path, data = ret
mod = sys.modules.setdefault(fullname, imp.new_module(fullname)) mod = sys.modules.setdefault(fullname, imp.new_module(fullname))
mod.__loader__ = self mod.__loader__ = self
if is_pkg: if is_pkg:
mod.__path__ = [] mod.__path__ = []
mod.__package__ = fullname mod.__package__ = fullname
self._absent.update(absent)
self._present[fullname] = present self._present[fullname] = present
else: else:
mod.__package__ = fullname.rpartition('.')[0] mod.__package__ = fullname.rpartition('.')[0]
@ -692,7 +686,7 @@ class ExternalContext(object):
except Exception, e: except Exception, e:
self.context.Enqueue(reply_to, CallError(e)) self.context.Enqueue(reply_to, CallError(e))
def main(self, key, log_level, absent): def main(self, key, log_level):
self._ReapFirstStage() self._ReapFirstStage()
self._FixupMainModule() self._FixupMainModule()
self._SetupMaster(key) self._SetupMaster(key)
@ -701,7 +695,6 @@ class ExternalContext(object):
self._SetupStdio() self._SetupStdio()
# signal.signal(signal.SIGINT, lambda *_: self.broker.Finalize()) # signal.signal(signal.SIGINT, lambda *_: self.broker.Finalize())
SlaveModuleImporter._absent = set(absent)
self.broker.Register(self.context) self.broker.Register(self.context)
self._DispatchCalls() self._DispatchCalls()

Loading…
Cancel
Save