12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env python3
- import json
- import os
- import sys
- REQUIRED_FIELDS = ['publicKey', 'password', 'contact']
- RED = '\x1b[01;31m'
- GREEN = '\x1b[01;32m'
- END = '\x1b[0m'
- def validate(path):
- print("Validating %s" % path)
- try:
- creds = open(path).read()
- peers = json.loads("{%s}" % creds)
- hosts = peers.keys()
- for host in hosts:
- for field in REQUIRED_FIELDS:
- if not field in peers[host]:
- print(" %sHost %s is missing the %s field!%s" % (RED, host, field, END))
- return False
- print(" %sSuccess!%s" % (GREEN, END))
- return True
- except ValueError:
- print(" %sInvalid JSON!%s" % (RED, END))
- return False
- success = True
- for directory, subdirs, files in os.walk('.'):
- if len(files) > 0:
- for f in files:
- if f.endswith('.k'):
- result = validate("%s/%s" % (directory, f))
- if not result:
- success = False
- if not success:
- sys.exit(1)
|