summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-07 14:23:02 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-07 14:23:02 +0000
commite534699c96fca90bc2065f565df3ee3c35f23bd6 (patch)
tree8c0613d6e84c324df320f74d0e38765e8a26d929 /tools
parent40f36c499b0a286569f2f8080daf7b9064d8369e (diff)
downloadbcfg2-e534699c96fca90bc2065f565df3ee3c35f23bd6.tar.gz
bcfg2-e534699c96fca90bc2065f565df3ee3c35f23bd6.tar.bz2
bcfg2-e534699c96fca90bc2065f565df3ee3c35f23bd6.zip
refactor code
2004/10/07 09:00:41-05:00 anl.gov!desai (Logical change 1.78) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@382 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'tools')
-rw-r--r--tools/validate_repo28
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/validate_repo b/tools/validate_repo
index e69de29bb..4e6aea601 100644
--- a/tools/validate_repo
+++ b/tools/validate_repo
@@ -0,0 +1,28 @@
+#!/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]
+ schemadir = argv[2]
+ except:
+ print "Usage: validate_repo <repo directory> <schema directory>"
+ 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") }
+
+ 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)