From 9e48307b56509b903646e582f9c8445c50ab921c Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Fri, 29 Oct 2004 19:17:41 +0000 Subject: add default schema location 2004/10/29 14:01:36-05:00 anl.gov!desai Rename: tools/validate_repo -> tools/ValidateBcfg2Repo (Logical change 1.124) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@563 ce84e21b-d406-0410-9b95-82705330c041 --- tools/ValidateBcfg2Repo | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'tools') diff --git a/tools/ValidateBcfg2Repo b/tools/ValidateBcfg2Repo index e69de29bb..eef43af70 100644 --- a/tools/ValidateBcfg2Repo +++ b/tools/ValidateBcfg2Repo @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +from glob import glob +from sys import argv, exit +from validate import validate, ValidationException + +if __name__ == '__main__': + try: + repo = argv[1] + if len(argv) == 3: + schemadir = argv[2] + else: + schemadir = '/usr/share/bcfg2/schemas' + except: + print "Usage: validate_repo " + exit(1) + + # add more validation as more schemas get written + filesets = {'metadata':("%s/etc/metadata.xml", "%s/metadata.xsd"), + 'bundle':("%s/bundler/*.xml", "%s/bundle.xsd"), + 'pkglist':("%s/pkgmgr/*.xml", "%s/pkglist.xsd"), + 'base':("%s/etc/base.xml", "%s/base.xsd"), + 'imageinfo':("%s/etc/imageinfo.xml", "%s/translation.xsd"), + 'services':("%s/etc/services.xml", "%s/services.xsd")} + + for k, (spec, schema) in filesets.iteritems(): + for filename in glob(spec%(repo)): + try: + validate(open(filename).read(), schema%(schemadir)) + print "%s checks out"%(filename) + except ValidationException, v: + print "file %s fails to verify:\n%s"%(filename, v) + except IOError: + print "failed to open file %s"%(filename) -- cgit v1.2.3-1-g7c22