make temp_dir unecessary / only implementation detail
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
e26f612012
commit
ee69971465
1 changed files with 19 additions and 17 deletions
|
@ -41,22 +41,16 @@ import cdist.exec
|
||||||
class Path:
|
class Path:
|
||||||
"""Class that handles path related configurations"""
|
"""Class that handles path related configurations"""
|
||||||
|
|
||||||
def __init__(self,
|
def __init__(self, target_host, initial_manifest=False, debug=False):
|
||||||
target_host,
|
|
||||||
initial_manifest=False,
|
|
||||||
base_dir=None,
|
|
||||||
debug=False):
|
|
||||||
|
|
||||||
# Base and Temp Base
|
|
||||||
if base_dir:
|
|
||||||
self.base_dir = base_dir
|
|
||||||
else:
|
|
||||||
self.base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
|
|
||||||
|
|
||||||
self.temp_dir = tempfile.mkdtemp()
|
|
||||||
|
|
||||||
self.target_host = target_host
|
self.target_host = target_host
|
||||||
|
|
||||||
|
# Base and Temp Base
|
||||||
|
if "__cdist_base_dir" in os.environ:
|
||||||
|
self.base_dir = os.environ['__cdist_base_dir']
|
||||||
|
else:
|
||||||
|
self.base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
|
||||||
|
|
||||||
# Input directories
|
# Input directories
|
||||||
self.conf_dir = os.path.join(self.base_dir, "conf")
|
self.conf_dir = os.path.join(self.base_dir, "conf")
|
||||||
self.cache_base_dir = os.path.join(self.base_dir, "cache")
|
self.cache_base_dir = os.path.join(self.base_dir, "cache")
|
||||||
|
@ -73,7 +67,11 @@ class Path:
|
||||||
self.initial_manifest = os.path.join(self.manifest_dir, "init")
|
self.initial_manifest = os.path.join(self.manifest_dir, "init")
|
||||||
|
|
||||||
# Output directories
|
# Output directories
|
||||||
self.out_dir = os.path.join(self.temp_dir, "out")
|
if "__cdist_out_dir" in os.environ:
|
||||||
|
self.out_dir = os.environ['__cdist_out_dir']
|
||||||
|
else:
|
||||||
|
self.out_dir = os.path.join(tempfile.mkdtemp(), "out")
|
||||||
|
|
||||||
self.global_explorer_out_dir = os.path.join(self.out_dir, "explorer")
|
self.global_explorer_out_dir = os.path.join(self.out_dir, "explorer")
|
||||||
self.object_base_dir = os.path.join(self.out_dir, "object")
|
self.object_base_dir = os.path.join(self.out_dir, "object")
|
||||||
self.bin_dir = os.path.join(self.out_dir, "bin")
|
self.bin_dir = os.path.join(self.out_dir, "bin")
|
||||||
|
@ -87,12 +85,11 @@ class Path:
|
||||||
# "other globals referenced by the __del__() method may already have been deleted
|
# "other globals referenced by the __del__() method may already have been deleted
|
||||||
# or in the process of being torn down (e.g. the import machinery shutting down)"
|
# or in the process of being torn down (e.g. the import machinery shutting down)"
|
||||||
#
|
#
|
||||||
log.debug("Saving" + self.temp_dir + "to " + self.cache_dir)
|
log.debug("Saving" + self.base_dir + "to " + self.cache_dir)
|
||||||
# Remove previous cache
|
# Remove previous cache
|
||||||
if os.path.exists(self.cache_dir):
|
if os.path.exists(self.cache_dir):
|
||||||
shutil.rmtree(self.cache_dir)
|
shutil.rmtree(self.cache_dir)
|
||||||
shutil.move(self.temp_dir, self.cache_dir)
|
shutil.move(self.base_dir, self.cache_dir)
|
||||||
|
|
||||||
|
|
||||||
def __init_env(self):
|
def __init_env(self):
|
||||||
"""Setup environment"""
|
"""Setup environment"""
|
||||||
|
@ -100,6 +97,11 @@ class Path:
|
||||||
|
|
||||||
def __init_out_dirs(self):
|
def __init_out_dirs(self):
|
||||||
"""Initialise output directory structure"""
|
"""Initialise output directory structure"""
|
||||||
|
|
||||||
|
# Create base dir, if user supplied and not existing
|
||||||
|
if not os.isdir(self.base_dir):
|
||||||
|
os.mkdir(self.base_dir)
|
||||||
|
|
||||||
os.mkdir(self.out_dir)
|
os.mkdir(self.out_dir)
|
||||||
os.mkdir(self.global_explorer_out_dir)
|
os.mkdir(self.global_explorer_out_dir)
|
||||||
os.mkdir(self.bin_dir)
|
os.mkdir(self.bin_dir)
|
||||||
|
|
Loading…
Reference in a new issue