diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-01-25 16:06:00 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-01-25 16:06:11 -0500 |
commit | 48ee74f4af26baf165a7d43ec5923d716fa4522a (patch) | |
tree | 05ba4a4d55df76c82c3e925d590cb8671bb96ac8 /src/lib/Server/Plugins/Packages/Yum.py | |
parent | 60301459da33e4fdad4c5bc4c836c8990238dd61 (diff) | |
download | bcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.tar.gz bcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.tar.bz2 bcfg2-48ee74f4af26baf165a7d43ec5923d716fa4522a.zip |
made automatic repository naming not suck horribly
Diffstat (limited to 'src/lib/Server/Plugins/Packages/Yum.py')
-rw-r--r-- | src/lib/Server/Plugins/Packages/Yum.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py index 13a553031..a5fe706cd 100644 --- a/src/lib/Server/Plugins/Packages/Yum.py +++ b/src/lib/Server/Plugins/Packages/Yum.py @@ -144,8 +144,22 @@ class YumCollection(Collection): source.get_urls() for url_map in source.url_map: if url_map['arch'] in self.metadata.groups: - reponame = source.get_repo_name(url_map) - config.add_section(reponame) + basereponame = source.get_repo_name(url_map) + reponame = basereponame + + added = False + while not added: + try: + config.add_section(reponame) + added = True + except ConfigParser.DuplicateSectionError: + match = re.match("-(\d)", reponame) + if match: + rid = int(match.group(1)) + 1 + else: + rid = 1 + reponame = "%s-%d" % (basereponame, rid) + config.set(reponame, "name", reponame) config.set(reponame, "baseurl", url_map['url']) config.set(reponame, "enabled", "1") |