Explorer tracks which type explorers have been transferred instad of Type

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
Steven Armstrong 2011-10-15 00:44:54 +02:00
parent 60509a49e2
commit 889e6c23cb
2 changed files with 4 additions and 4 deletions

View file

@ -75,6 +75,7 @@ class Explorer(object):
}
if log.getEffectiveLevel() == logging.DEBUG:
self.env.update({'__debug': "yes" })
self._type_explorers_transferred = []
### global
@ -105,14 +106,14 @@ class Explorer(object):
def transfer_type_explorers(self, cdist_type):
"""Transfer the type explorers for the given type to the remote side."""
if cdist_type.explorers:
if cdist_type.explorers_transferred:
if cdist_type.name in self._type_explorers_transferred:
log.debug("Skipping retransfer of type explorers for: %s", cdist_type)
else:
source = os.path.join(self.local.type_path, cdist_type.explorer_path)
destination = os.path.join(self.remote.type_path, cdist_type.explorer_path)
self.remote.mkdir(destination)
self.remote.transfer(source, destination)
cdist_type.explorers_transferred = True
self._type_explorers_transferred.append(cdist_type.name)
def transfer_object_parameters(self, cdist_object):
"""Transfer the parameters for the given object to the remote side."""

View file

@ -54,6 +54,7 @@ class Type(object):
if not name in cls._instances:
instance = super(Type, cls).__new__(cls)
cls._instances[name] = instance
# return instance so __init__ is called
return cls._instances[name]
def __init__(self, base_path, name):
@ -67,8 +68,6 @@ class Type(object):
self.gencode_remote_path = os.path.join(self.name, "gencode-remote")
self.manifest_path = os.path.join(self.name, "manifest")
self.explorers_transferred = False
self.__explorers = None
self.__required_parameters = None
self.__optional_parameters = None