summaryrefslogtreecommitdiffstats
path: root/cobbler/item_system.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2007-02-14 12:04:16 -0500
committerJim Meyering <jim@meyering.net>2007-02-14 12:04:16 -0500
commitd5971f58acb88a3c379debf18c30fe3afe98e09f (patch)
tree286c58654c7ca51a33bddb5561d85435aa0e3f3d /cobbler/item_system.py
parentd31b9b1e3f11829eb02a8e3c9af2d294e3809251 (diff)
downloadthird_party-cobbler-d5971f58acb88a3c379debf18c30fe3afe98e09f.tar.gz
third_party-cobbler-d5971f58acb88a3c379debf18c30fe3afe98e09f.tar.xz
third_party-cobbler-d5971f58acb88a3c379debf18c30fe3afe98e09f.zip
Converting storage for template parameters, kernel options, and repo lists (basically anything that's not really a string or a number) to a list or hash, as appropriate. This will allow the cobbler API to accept list/hash input as appropriate in addition to strings, allowing for more advanced use of the templating engine. This also extends more power to the user to add their own entries in /var/lib/cobbler files for ksmeta, as opposed to having to enter in --ksmeta options on the command line, which previously did not tolerate newlines.
All of this is backwards compatible with the old format (both should load fine). Files will convert over to the new format once any add commands are run.
Diffstat (limited to 'cobbler/item_system.py')
-rw-r--r--cobbler/item_system.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 03a4032..7409f11 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -25,8 +25,8 @@ class System(item.Item):
def clear(self):
self.name = None
self.profile = None # a name, not a reference
- self.kernel_options = ""
- self.ks_meta = ""
+ self.kernel_options = {}
+ self.ks_meta = {}
self.pxe_address = ""
def from_datastruct(self,seed_data):
@@ -35,6 +35,13 @@ class System(item.Item):
self.kernel_options = self.load_item(seed_data,'kernel_options')
self.ks_meta = self.load_item(seed_data,'ks_meta')
self.pxe_address = self.load_item(seed_data,'pxe_address')
+
+ # backwards compatibility -- convert string entries to dicts for storage
+ if type(self.kernel_options) != dict:
+ self.set_kernel_options(self.kernel_options)
+ if type(self.ks_meta) != dict:
+ self.set_ksmeta(self.ks_meta)
+
return self
def set_name(self,name):