diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2008-06-30 14:04:30 -0400 |
---|---|---|
committer | Michael DeHaan <mdehaan@redhat.com> | 2008-06-30 14:04:30 -0400 |
commit | d254f3bdcb9307fad6eba2aabf42a1cec675faaf (patch) | |
tree | d1b90b9b300efdb1bb11d75f888f1cbc510e229a /cobbler/collection_images.py | |
parent | f786e36e5d5b3b97c173a6b794370cda15528bc3 (diff) | |
download | cobbler-d254f3bdcb9307fad6eba2aabf42a1cec675faaf.tar.gz cobbler-d254f3bdcb9307fad6eba2aabf42a1cec675faaf.tar.xz cobbler-d254f3bdcb9307fad6eba2aabf42a1cec675faaf.zip |
Work in progress on adding image tracking, also fixed a typo or two in buildiso
Diffstat (limited to 'cobbler/collection_images.py')
-rw-r--r-- | cobbler/collection_images.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/cobbler/collection_images.py b/cobbler/collection_images.py new file mode 100644 index 00000000..11f8b396 --- /dev/null +++ b/cobbler/collection_images.py @@ -0,0 +1,56 @@ +""" +A image instance represents a ISO or virt image we want to track +and repeatedly install. It differs from a answer-file based installation. + +Copyright 2006-2008, Red Hat, Inc +Michael DeHaan <mdehaan@redhat.com> + +This software may be freely redistributed under the terms of the GNU +general public license. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +""" + +import item_image as image +import utils +import collection +from cexceptions import * +from utils import _ + +#-------------------------------------------- + +class Images(collection.Collection): + + def collection_type(self): + return "image" + + def factory_produce(self,config,seed_data): + return image.Image(config).from_datastruct(seed_data) + + def remove(self,name,with_delete=True,with_sync=True,with_triggers=True): + """ + Remove element named 'name' from the collection + """ + + # NOTE: with_delete isn't currently meaningful for repos + # but is left in for consistancy in the API. Unused. + + name = name.lower() + obj = self.find(name=name) + if obj is not None: + if with_delete: + if with_triggers: + self._run_triggers(obj, "/var/lib/cobbler/triggers/delete/image/pre/*") + + del self.listing[name] + self.config.serialize_delete(self, obj) + + if with_delete: + self.log_func("deleted repo %s" % name) + if with_triggers: + self._run_triggers(obj, "/var/lib/cobbler/triggers/delete/image/post/*") + return True + raise CX(_("cannot delete an object that does not exist: %s") % name) + |