diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-02-11 16:23:18 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-02-11 16:23:18 +0000 |
commit | 08560a01cf202e15eb622893dc934b191cd55646 (patch) | |
tree | d4a20e8e105c49324789e6598f3fed87e7952e7e | |
parent | e5d561ce02aaef68fbb930a8352f11c1a7caebd0 (diff) | |
parent | e6273f9376813533d02bd14f8fccd1e80f59b83c (diff) |
Merge "Update yaml-validate.py to accept files or directories"
-rwxr-xr-x | tools/yaml-validate.py | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index cb5669a7..fe690d8c 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -16,11 +16,13 @@ import sys import traceback import yaml -base_path = sys.argv[1] -exit_val = 0 -failed_files = [] + +def exit_usage(): + print('Usage %s <yaml file or directory>' % sys.argv[0]) + sys.exit(1) def validate(filename): + print('Validating %s' % filename) try: yaml.load(open(filename).read()) except Exception: @@ -28,14 +30,31 @@ def validate(filename): return 1 return 0 -for subdir, dirs, files in os.walk(base_path): - for f in files: - if f.endswith('.yaml'): - file_path = os.path.join(subdir, f) - failed = validate(file_path) - if failed: - failed_files.append(file_path) - exit_val |= failed +if len(sys.argv) < 2: + exit_usage() + +path_args = sys.argv[1:] +exit_val = 0 +failed_files = [] + +for base_path in path_args: + if os.path.isdir(base_path): + for subdir, dirs, files in os.walk(base_path): + for f in files: + if f.endswith('.yaml'): + file_path = os.path.join(subdir, f) + failed = validate(file_path) + if failed: + failed_files.append(file_path) + exit_val |= failed + elif os.path.isfile(base_path) and base_path.endswith('.yaml'): + failed = validate(base_path) + if failed: + failed_files.append(base_path) + exit_val |= failed + else: + print('Unexpected argument %s' % base_path) + exit_usage() if failed_files: print('Validation failed on:') |