summaryrefslogtreecommitdiffstats
path: root/git/yaml_validate.py
diff options
context:
space:
mode:
authorKenny Woodson <kwoodson@redhat.com>2016-01-19 14:30:06 -0500
committerKenny Woodson <kwoodson@redhat.com>2016-01-19 14:32:31 -0500
commit01ba7f730b9af8a81f88a5b12fb8a7031e624829 (patch)
tree3dccf60f1e671f64ee90b9d3c7e2251a139eab14 /git/yaml_validate.py
parentdb356978d437ed70f7d4f8023d79c43e70c2e0bf (diff)
downloadopenshift-01ba7f730b9af8a81f88a5b12fb8a7031e624829.tar.gz
openshift-01ba7f730b9af8a81f88a5b12fb8a7031e624829.tar.bz2
openshift-01ba7f730b9af8a81f88a5b12fb8a7031e624829.tar.xz
openshift-01ba7f730b9af8a81f88a5b12fb8a7031e624829.zip
Fixing yaml validation in python. Inputs behave differently as does glob
Diffstat (limited to 'git/yaml_validate.py')
-rwxr-xr-xgit/yaml_validate.py63
1 files changed, 0 insertions, 63 deletions
diff --git a/git/yaml_validate.py b/git/yaml_validate.py
deleted file mode 100755
index 7e0a08a4b..000000000
--- a/git/yaml_validate.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python
-#
-# python yaml validator for a git commit
-#
-'''
-python yaml validator for a git commit
-'''
-import shutil
-import sys
-import os
-import glob
-import tempfile
-import subprocess
-import yaml
-
-def get_changes(oldrev, newrev, tempdir):
- '''Get a list of git changes from oldrev to newrev'''
- proc = subprocess.Popen(['/usr/bin/git', 'diff', '--name-only', oldrev,
- newrev, '--diff-filter=ACM'], stdout=subprocess.PIPE)
- proc.wait()
- files = proc.stdout.read().strip().split('\n')
-
- # No file changes
- if not files:
- return []
-
- cmd = '/usr/bin/git archive %s %s | /bin/tar x -C %s' % (newrev, " ".join(files), tempdir)
- proc = subprocess.Popen(cmd, shell=True)
- proc.wait()
-
- return [fmod for fmod in glob.glob('%s/**/*' % tempdir) if not os.path.isdir(fmod)]
-
-def main():
- '''
- Perform yaml validation
- '''
- results = []
- try:
- tmpdir = tempfile.mkdtemp(prefix='jenkins-git-')
- old, new, _ = sys.argv[1:]
-
- for file_mod in get_changes(old, new, tmpdir):
-
- print "+++++++ Received: %s" % file_mod
-
- if not file_mod.endswith('.yml') or not file_mod.endswith('.yaml'):
- continue
-
- try:
- yaml.load(file_mod)
- results.append(True)
-
- except yaml.scanner.ScannerError as yerr:
- print yerr.message
- results.append(False)
- finally:
- shutil.rmtree(tmpdir)
-
- if not all(results):
- sys.exit(1)
-
-if __name__ == "__main__":
- main()