summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRobert Gogolok <gogo@cs.uni-sb.de>2007-12-30 20:38:31 +0000
committerRobert Gogolok <gogo@cs.uni-sb.de>2007-12-30 20:38:31 +0000
commite579f05ebff245517c744eec7099c1627bae615a (patch)
tree13c0037ad92df11686033dbf89791245bbdf7afc /src
parent6b3e207ff05877821779d09e01861eabc05c0c49 (diff)
downloadbcfg2-e579f05ebff245517c744eec7099c1627bae615a.tar.gz
bcfg2-e579f05ebff245517c744eec7099c1627bae615a.tar.bz2
bcfg2-e579f05ebff245517c744eec7099c1627bae615a.zip
bcfg2-repo-validate: use Bcfg2.Settings
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4135 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/lib/Settings.py8
-rwxr-xr-xsrc/sbin/bcfg2-repo-validate25
2 files changed, 17 insertions, 16 deletions
diff --git a/src/lib/Settings.py b/src/lib/Settings.py
index 4a47c6f8d..88a59d681 100644
--- a/src/lib/Settings.py
+++ b/src/lib/Settings.py
@@ -14,6 +14,7 @@ class Settings(object):
self.CONFIG_FILE = self.default_config_file()
self.SERVER_GENERATORS = self.default_server_generators()
+ self.SERVER_PREFIX = self.default_server_prefix()
self.SERVER_REPOSITORY = self.default_server_repository()
self.SERVER_STRUCTURES = self.default_server_structures()
self.SERVER_SVN = self.default_server_svn()
@@ -90,6 +91,10 @@ class Settings(object):
except:
pass
try:
+ self.SERVER_PREFIX = cfp.get('server','prefix')
+ except:
+ pass
+ try:
self.SERVER_REPOSITORY = cfp.get('server','repository')
except:
pass
@@ -110,6 +115,9 @@ class Settings(object):
def default_server_generators(self):
return ['SSHbase', 'Cfg', 'Pkgmgr', 'Rules']
+ def default_server_prefix(self):
+ return '/usr'
+
def default_server_structures(self):
return ['Bundler', 'Base']
diff --git a/src/sbin/bcfg2-repo-validate b/src/sbin/bcfg2-repo-validate
index 203a5556a..ebfd87f25 100755
--- a/src/sbin/bcfg2-repo-validate
+++ b/src/sbin/bcfg2-repo-validate
@@ -4,30 +4,23 @@
__revision__ = '$Revision$'
import glob, lxml.etree, os, sys, ConfigParser
+from Bcfg2.Settings import settings
if __name__ == '__main__':
verbose = False
if '-v' in sys.argv:
verbose = True
sys.argv.remove('-v')
+ # override default settings
if '-C' in sys.argv:
- cpath = sys.argv[sys.argv.index('-C') + 1]
- else:
- cpath = '/etc/bcfg2.conf'
- cf = ConfigParser.ConfigParser()
- cf.read([cpath])
- try:
- prefix = cf.get('server', 'prefix')
- except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
- prefix = '/usr'
- schemadir = "%s/share/bcfg2/schemas" % (prefix)
- os.chdir(schemadir)
+ settings.read_config_file(sys.argv[sys.argv.index('-C') + 1])
+ schemadir = "%s/share/bcfg2/schemas" % (settings.SERVER_PREFIX)
try:
- repo = cf.get('server', 'repository')
- except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
- print "Repository location not specified in config file"
- raise SystemExit, 1
+ os.chdir(schemadir)
+ except:
+ print "Failed to change to schema dir '%s'" % schemadir
+ raise SystemExit(1)
filesets = {'metadata':("%s/Metadata/groups.xml", "%s/metadata.xsd"),
'clients':("%s/Metadata/clients.xml", "%s/clients.xsd"),
@@ -47,7 +40,7 @@ if __name__ == '__main__':
print "Failed to process schema %s" % (schemaname%(schemadir))
failures = 1
continue
- for filename in glob.glob(spec%(repo)):
+ for filename in glob.glob(spec%(settings.SERVER_REPOSITORY)):
try:
datafile = lxml.etree.parse(open(filename))
except SyntaxError: