From 08d98ac3890a6535571540727bd0c9ecdf0d34a7 Mon Sep 17 00:00:00 2001 From: Steven Armstrong Date: Thu, 13 Oct 2011 17:05:34 +0200 Subject: [PATCH] only list type explorers if there are any; only transfer type explorers if there are ant Signed-off-by: Steven Armstrong --- lib/cdist/core/explorer.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/cdist/core/explorer.py b/lib/cdist/core/explorer.py index 7e61639e..ee1008fe 100644 --- a/lib/cdist/core/explorer.py +++ b/lib/cdist/core/explorer.py @@ -95,14 +95,18 @@ class Explorer(object): def list_type_explorer_names(self, cdist_type): """Return a list of explorer names for the given type.""" source = os.path.join(self.local.type_path, cdist_type.explorer_path) - return os.listdir(source) + try: + return os.listdir(source) + except EnvironmentError: + return [] def transfer_type_explorers(self, cdist_type): """Transfer the type explorers for the given type to the remote side.""" - 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) + if cdist_type.explorers: + 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) def transfer_object_parameters(self, cdist_object): """Transfer the parameters for the given object to the remote side."""