implement fail if object_id starts with /
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
parent
9640c3a098
commit
3e3919d15f
2 changed files with 11 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
from cdist.core.type import Type
|
from cdist.core.type import Type
|
||||||
from cdist.core.object import Object
|
from cdist.core.object import Object
|
||||||
|
from cdist.core.object import IllegalObjectIdError
|
||||||
from cdist.core.explorer import Explorer
|
from cdist.core.explorer import Explorer
|
||||||
from cdist.core.manifest import Manifest
|
from cdist.core.manifest import Manifest
|
||||||
from cdist.core.code import Code
|
from cdist.core.code import Code
|
||||||
|
|
|
@ -33,6 +33,14 @@ log = logging.getLogger(__name__)
|
||||||
DOT_CDIST = '.cdist'
|
DOT_CDIST = '.cdist'
|
||||||
|
|
||||||
|
|
||||||
|
class IllegalObjectIdError(cdist.Error):
|
||||||
|
def __init__(self, object_id):
|
||||||
|
self.object_id = object_id
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return 'Illegal object id: %s' % self.object_id
|
||||||
|
|
||||||
|
|
||||||
class Object(object):
|
class Object(object):
|
||||||
"""Represents a cdist object.
|
"""Represents a cdist object.
|
||||||
|
|
||||||
|
@ -79,6 +87,8 @@ class Object(object):
|
||||||
return self.__class__(self.type.__class__(type_path, type_name), object_path, object_id=object_id)
|
return self.__class__(self.type.__class__(type_path, type_name), object_path, object_id=object_id)
|
||||||
|
|
||||||
def __init__(self, cdist_type, base_path, object_id=None):
|
def __init__(self, cdist_type, base_path, object_id=None):
|
||||||
|
if object_id and object_id.startswith('/'):
|
||||||
|
raise IllegalObjectIdError(object_id)
|
||||||
self.type = cdist_type # instance of Type
|
self.type = cdist_type # instance of Type
|
||||||
self.base_path = base_path
|
self.base_path = base_path
|
||||||
self.object_id = object_id
|
self.object_id = object_id
|
||||||
|
|
Loading…
Reference in a new issue