diff options
author | Robert Gogolok <gogo@cs.uni-sb.de> | 2007-12-30 20:38:31 +0000 |
---|---|---|
committer | Robert Gogolok <gogo@cs.uni-sb.de> | 2007-12-30 20:38:31 +0000 |
commit | e579f05ebff245517c744eec7099c1627bae615a (patch) | |
tree | 13c0037ad92df11686033dbf89791245bbdf7afc | |
parent | 6b3e207ff05877821779d09e01861eabc05c0c49 (diff) | |
download | bcfg2-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
-rw-r--r-- | src/lib/Settings.py | 8 | ||||
-rwxr-xr-x | src/sbin/bcfg2-repo-validate | 25 |
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: |