forked from ungleich-public/cdist
introduce MissingObjectIdError
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
parent
6fbc03076b
commit
cb829ec8d0
1 changed files with 15 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
|
# 2011 Steven Armstrong (steven-cdist at armstrong.cc)
|
||||||
# 2011-2012 Nico Schottelius (nico-cdist at schottelius.org)
|
# 2011-2013 Nico Schottelius (nico-cdist at schottelius.org)
|
||||||
#
|
#
|
||||||
# This file is part of cdist.
|
# This file is part of cdist.
|
||||||
#
|
#
|
||||||
|
@ -42,6 +42,14 @@ class IllegalObjectIdError(cdist.Error):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '%s: %s' % (self.message, self.object_id)
|
return '%s: %s' % (self.message, self.object_id)
|
||||||
|
|
||||||
|
class MissingObjectIdError(cdist.Error):
|
||||||
|
def __init__(self, type_name):
|
||||||
|
self.type_name = type_name
|
||||||
|
self.message = "Type %s requires object id (is not a singleton type)" % self.type_name
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return '%s' % (self.message)
|
||||||
|
|
||||||
|
|
||||||
class CdistObject(object):
|
class CdistObject(object):
|
||||||
"""Represents a cdist object.
|
"""Represents a cdist object.
|
||||||
|
@ -125,8 +133,12 @@ class CdistObject(object):
|
||||||
|
|
||||||
# If no object_id and type is not singleton => error out
|
# If no object_id and type is not singleton => error out
|
||||||
if not self.object_id and not self.cdist_type.is_singleton:
|
if not self.object_id and not self.cdist_type.is_singleton:
|
||||||
raise IllegalObjectIdError(self.object_id,
|
raise MissingObjectIdError(self.cdist_type.name)
|
||||||
"Missing object_id and type is not a singleton.")
|
|
||||||
|
# Does not work: AttributeError: 'CdistObject' object has no attribute 'parameter_path'
|
||||||
|
|
||||||
|
#"Type %s is not a singleton type - missing object id (parameters: %s)" %
|
||||||
|
# (self.cdist_type.name, self.parameters))
|
||||||
|
|
||||||
def object_from_name(self, object_name):
|
def object_from_name(self, object_name):
|
||||||
"""Convenience method for creating an object instance from an object name.
|
"""Convenience method for creating an object instance from an object name.
|
||||||
|
|
Loading…
Reference in a new issue