forked from ungleich-public/cdist
and now replace the new cool function type_attribute_path() with easy type_dir
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
d979bdc514
commit
40d494ace2
1 changed files with 11 additions and 16 deletions
27
bin/cdist
27
bin/cdist
|
@ -253,7 +253,7 @@ class Cdist:
|
||||||
|
|
||||||
def list_type_explorers(self, type):
|
def list_type_explorers(self, type):
|
||||||
"""Return list of available explorers for a specific type"""
|
"""Return list of available explorers for a specific type"""
|
||||||
dir = self.type_attribute_path(type, "explorer")
|
dir = self.type_dir(type, "explorer")
|
||||||
if os.path.isdir(dir):
|
if os.path.isdir(dir):
|
||||||
list = os.listdir(dir)
|
list = os.listdir(dir)
|
||||||
else:
|
else:
|
||||||
|
@ -322,18 +322,9 @@ class Cdist:
|
||||||
|
|
||||||
return objects
|
return objects
|
||||||
|
|
||||||
def type_dir(self, type):
|
def type_dir(self, type, *args):
|
||||||
"""Return directory the type"""
|
"""Return directory the type"""
|
||||||
return os.path.join(self.type_base_dir, type)
|
return os.path.join(self.type_base_dir, type, *args)
|
||||||
|
|
||||||
def type_gencode_paths(self, type):
|
|
||||||
"""Return paths to gencode scripts of type"""
|
|
||||||
return [os.path.join(self.type_base_dir, type, "gencode-local"),
|
|
||||||
os.path.join(self.type_base_dir, type, "gencode-remote")]
|
|
||||||
|
|
||||||
def type_attribute_path(self, type, attribute):
|
|
||||||
"""Return path of an attribute of a type"""
|
|
||||||
return os.path.join(self.type_base_dir, type, attribute)
|
|
||||||
|
|
||||||
def remote_type_explorer_dir(self, type):
|
def remote_type_explorer_dir(self, type):
|
||||||
"""Return remote directory that holds the explorers of a type"""
|
"""Return remote directory that holds the explorers of a type"""
|
||||||
|
@ -362,7 +353,7 @@ class Cdist:
|
||||||
# Do not retransfer
|
# Do not retransfer
|
||||||
self.type_explorers_transferred[type] = 1
|
self.type_explorers_transferred[type] = 1
|
||||||
|
|
||||||
src = self.type_attribute_path(type, attribute)
|
src = self.type_dir(type, "explorer")
|
||||||
remote_base = os.path.join(REMOTE_TYPE_DIR, type)
|
remote_base = os.path.join(REMOTE_TYPE_DIR, type)
|
||||||
dst = self.remote_type_explorer_dir(type)
|
dst = self.remote_type_explorer_dir(type)
|
||||||
|
|
||||||
|
@ -442,7 +433,7 @@ class Cdist:
|
||||||
def run_type_manifest(self, cdist_object):
|
def run_type_manifest(self, cdist_object):
|
||||||
"""Run manifest for a specific object"""
|
"""Run manifest for a specific object"""
|
||||||
type = self.get_type_from_object(cdist_object)
|
type = self.get_type_from_object(cdist_object)
|
||||||
manifest = self.type_attribute_path(type, "manifest")
|
manifest = self.type_dir(type, "manifest")
|
||||||
|
|
||||||
log.debug("%s: Running %s", cdist_object, manifest)
|
log.debug("%s: Running %s", cdist_object, manifest)
|
||||||
if os.path.exists(manifest):
|
if os.path.exists(manifest):
|
||||||
|
@ -496,6 +487,7 @@ class Cdist:
|
||||||
"""Run gencode or code for an object"""
|
"""Run gencode or code for an object"""
|
||||||
log.debug("Running %s from %s", mode, cdist_object)
|
log.debug("Running %s from %s", mode, cdist_object)
|
||||||
requirements = self.list_object_requirements(cdist_object)
|
requirements = self.list_object_requirements(cdist_object)
|
||||||
|
type = self.get_type_from_object(cdist_object)
|
||||||
|
|
||||||
for requirement in requirements:
|
for requirement in requirements:
|
||||||
log.debug("Object %s requires %s", cdist_object, requirement)
|
log.debug("Object %s requires %s", cdist_object, requirement)
|
||||||
|
@ -510,10 +502,13 @@ class Cdist:
|
||||||
env["__object"] = self.object_dir(cdist_object)
|
env["__object"] = self.object_dir(cdist_object)
|
||||||
env["__object_id"] = self.get_object_id_from_object(cdist_object)
|
env["__object_id"] = self.get_object_id_from_object(cdist_object)
|
||||||
env["__object_fq"] = cdist_object
|
env["__object_fq"] = cdist_object
|
||||||
env["__type"] = self.type_dir(self.get_type_from_object(cdist_object))
|
env["__type"] = self.type_dir(type)
|
||||||
|
|
||||||
if mode == "gencode":
|
if mode == "gencode":
|
||||||
paths = self.type_gencode_paths(self.get_type_from_object(cdist_object))
|
paths = [
|
||||||
|
self.type_dir(type, "gencode-local"),
|
||||||
|
self.type_dir(type, "gencode-remote")
|
||||||
|
]
|
||||||
for bin in paths:
|
for bin in paths:
|
||||||
if os.path.isfile(bin):
|
if os.path.isfile(bin):
|
||||||
# omit "gen" from gencode and
|
# omit "gen" from gencode and
|
||||||
|
|
Loading…
Reference in a new issue