diff options
author | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-08-28 15:38:08 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@mdehaan.rdu.redhat.com> | 2007-08-28 15:38:08 -0400 |
commit | e29737d38da69887368fc0acd3666fd78e842a80 (patch) | |
tree | d2a30211d64dab22de021e60fb39793ebbf2a420 /cobbler | |
parent | 71c4ba479d6395e566a3517afdd4baafd5a3acb1 (diff) | |
download | third_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.py | 8 | ||||
-rw-r--r-- | cobbler/action_sync.py | 9 |
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): |