From b0d37c8c304541fbda6b7ccd328903a5d0336e64 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Fri, 27 Mar 2009 16:52:55 -0500 Subject: [PATCH] Modification to --in-place functions to allow deletion of single (or multiple) items Preceding the key value with '~' causes the key=value pair to be deleted (only when --in-place is specified) --- cobbler/item.py | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/cobbler/item.py b/cobbler/item.py index dcf609f..d382ccc 100644 --- a/cobbler/item.py +++ b/cobbler/item.py @@ -157,7 +157,10 @@ class Item(serializable.Serializable): else: if inplace: for key in value.keys(): - self.kernel_options[key] = value[key] + if key.startswith("~"): + del self.kernel_options[key[1:]] + else: + self.kernel_options[key] = value[key] else: self.kernel_options = value return True @@ -173,7 +176,10 @@ class Item(serializable.Serializable): else: if inplace: for key in value.keys(): - self.kernel_options_post[key] = value[key] + if key.startswith("~"): + del self.self.kernel_options_post[key[1:]] + else: + self.kernel_options_post[key] = value[key] else: self.kernel_options_post = value return True @@ -190,7 +196,10 @@ class Item(serializable.Serializable): else: if inplace: for key in value.keys(): - self.ks_meta[key] = value[key] + if key.startswith("~"): + del self.ks_meta[key[1:]] + else: + self.ks_meta[key] = value[key] else: self.ks_meta = value return True @@ -215,7 +224,10 @@ class Item(serializable.Serializable): else: if inplace: for key in value.keys(): - self.template_files[key] = value[key] + if key.startswith("~"): + del self.template_files[key][1:] + else: + self.template_files[key] = value[key] else: self.template_files = value return True -- 1.5.5.1