summaryrefslogtreecommitdiffstats
path: root/cobbler
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-08-28 15:38:08 -0400
committerMichael DeHaan <mdehaan@mdehaan.rdu.redhat.com>2007-08-28 15:38:08 -0400
commite29737d38da69887368fc0acd3666fd78e842a80 (patch)
treed2a30211d64dab22de021e60fb39793ebbf2a420 /cobbler
parent71c4ba479d6395e566a3517afdd4baafd5a3acb1 (diff)
downloadthird_party-cobbler-e29737d38da69887368fc0acd3666fd78e842a80.tar.gz
third_party-cobbler-e29737d38da69887368fc0acd3666fd78e842a80.tar.xz
third_party-cobbler-e29737d38da69887368fc0acd3666fd78e842a80.zip
Allow for usage of Cheetah template variables (sans Cheetah) in config
files by replacing $variable with @@variable@@.
Diffstat (limited to 'cobbler')
-rw-r--r--cobbler/action_import.py8
-rw-r--r--cobbler/action_sync.py9
2 files changed, 13 insertions, 4 deletions
diff --git a/cobbler/action_import.py b/cobbler/action_import.py
index d05ea82..9531040 100644
--- a/cobbler/action_import.py
+++ b/cobbler/action_import.py
@@ -215,7 +215,7 @@ class Importer:
# how we set the tree depends on whether an explicit network_root was specified
if self.network_root is None:
- meta["tree"] = "http://%s/cblr/links/%s" % (self.settings.server, distro.name)
+ meta["tree"] = "http://@@server@@/cblr/links/%s" % (distro.name)
else:
# where we assign the kickstart source is relative to our current directory
# and the input start directory in the crawl. We find the path segments
@@ -403,9 +403,9 @@ class Importer:
dotrepo = "%s-%s.repo" % (distro.name, counter)
fname = os.path.join(self.settings.webdir, "ks_mirror", "config", "%s-%s.repo" % (distro.name, counter))
- repo_url = "http://%s/cobbler/ks_mirror/config/%s-%s.repo" % (self.settings.server, distro.name, counter)
+ repo_url = "http://@@server@@/cobbler/ks_mirror/config/%s-%s.repo" % (distro.name, counter)
- repo_url2 = "http://%s/cobbler/ks_mirror/%s" % (self.settings.server, urlseg)
+ repo_url2 = "http://@@server@@/cobbler/ks_mirror/%s" % (urlseg)
distro.source_repos.append([repo_url,repo_url2])
@@ -413,7 +413,7 @@ class Importer:
config_file = open(fname, "w+")
config_file.write("[%s]\n" % "core-%s" % counter)
config_file.write("name=%s\n" % "core-%s " % counter)
- config_file.write("baseurl=http://%s/cobbler/ks_mirror/%s\n" % (self.settings.server, urlseg))
+ config_file.write("baseurl=http://@@server@@/cobbler/ks_mirror/%s\n" % (urlseg))
config_file.write("enabled=1\n")
config_file.write("gpgcheck=0\n")
config_file.close()
diff --git a/cobbler/action_sync.py b/cobbler/action_sync.py
index 40c8220..aa5a499 100644
--- a/cobbler/action_sync.py
+++ b/cobbler/action_sync.py
@@ -528,11 +528,20 @@ class BootSync:
t = Template(source=data, searchList=[metadata])
data_out = str(t)
+ # now apply some magic post-filtering that is used by cobbler import and some
+ # other places, but doesn't use Cheetah. Forcing folks to double escape
+ # things would be very unwelcome.
+
+ for x in metadata:
+ if type(metadata[x]) == str:
+ data_out = data_out.replace("@@%s@@" % x, metadata[x])
+
if out_path is not None:
self.mkdir(os.path.dirname(out_path))
fd = open(out_path, "w+")
fd.write(data_out)
fd.close()
+
return data_out
def build_trees(self):