From d5971f58acb88a3c379debf18c30fe3afe98e09f Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Wed, 14 Feb 2007 12:04:16 -0500 Subject: 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. --- cobbler/item_system.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'cobbler/item_system.py') 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): -- cgit