diff options
author | Michael DeHaan <mdehaan@redhat.com> | 2006-12-12 16:44:20 -0500 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2006-12-12 16:44:20 -0500 |
commit | edec049f66add415f402e251b217c9f09f589e40 (patch) | |
tree | 5d0105157734f2425ea979113dfb9d86aa29d66f /cobbler/collection_repos.py | |
parent | f24ee795f6296abc4643889bbb9d35b9fc128799 (diff) | |
download | third_party-cobbler-edec049f66add415f402e251b217c9f09f589e40.tar.gz third_party-cobbler-edec049f66add415f402e251b217c9f09f589e40.tar.xz third_party-cobbler-edec049f66add415f402e251b217c9f09f589e40.zip |
Preliminary support for repo mirroring.
Diffstat (limited to 'cobbler/collection_repos.py')
-rw-r--r-- | cobbler/collection_repos.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/cobbler/collection_repos.py b/cobbler/collection_repos.py new file mode 100644 index 0000000..0ae9db3 --- /dev/null +++ b/cobbler/collection_repos.py @@ -0,0 +1,54 @@ +""" +Repositories in cobbler are way to create a local mirror of a yum repository. +When used in conjunction with a mirrored kickstart tree (see "cobbler import") +outside bandwidth needs can be reduced and/or eliminated. + +Copyright 2006, 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_repo as repo +import utils +import collection +import cexceptions + +TESTMODE = False + +#-------------------------------------------- + +class Repos(collection.Collection): + + def collection_type(self): + return "repository" + + def factory_produce(self,config,seed_data): + """ + Return a system forged from seed_data + """ + return repo.Repo(config).from_datastruct(seed_data) + + def filename(self): + """ + Return a filename for System serialization + """ + if TESTMODE: + return "/var/lib/cobbler/test/repos" + else: + return "/var/lib/cobbler/repos" + + def remove(self,name): + """ + Remove element named 'name' from the collection + """ + if self.find(name): + del self.listing[name] + return True + raise cexceptions.CobblerException("delete_nothing") + |