diff --git a/cdist/core/cdist_type.py b/cdist/core/cdist_type.py index 42533a4d..beb459b3 100644 --- a/cdist/core/cdist_type.py +++ b/cdist/core/cdist_type.py @@ -31,11 +31,11 @@ class InvalidTypeError(cdist.Error): self.name = name self.type_path = type_path self.type_absolute_path = type_absolute_path + self.source_path = os.path.realpath(self.type_absolute_path) def __str__(self): return "Invalid type '%s' at '%s' defined at '%s'" % ( - self.type_path, self.type_absolute_path, - os.path.realpath(self.type_absolute_path)) + self.type_path, self.type_absolute_path, self.source_path) class CdistType(object): @@ -81,10 +81,11 @@ class CdistType(object): yield cls(base_path, name) except InvalidTypeError as e: # ignore invalid type, log warning and continue - cls.log.warning(e) + msg = "Ignoring invalid type '%s' at '%s' defined at '%s'" % ( + e.type_path, e.type_absolute_path, e.source_path) + cls.log.warning(msg) # remove invalid from runtime conf dir - absolute_path = os.path.join(base_path, name) - os.remove(absolute_path) + os.remove(e.type_absolute_path) @classmethod def list_type_names(cls, base_path):