1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00
Files
github-octodns/octodns/cmds/validate.py

52 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python
'''
Octo-DNS Validator
'''
from logging import WARNING, getLogger
from sys import exit
from octodns.cmds.args import ArgumentParser
from octodns.manager import Manager
class FlaggingHandler:
level = WARNING
def __init__(self):
self.flag = False
def handle(self, record):
self.flag = True
def main():
parser = ArgumentParser(description=__doc__.split('\n')[1])
parser.add_argument(
'--config-file',
required=True,
help='The Manager configuration file to use',
)
parser.add_argument(
'--all',
action='store_true',
default=False,
help='Validate records in lenient mode, printing warnings so that all validation issues are shown',
)
args = parser.parse_args(WARNING)
flagging = FlaggingHandler()
getLogger('Record').addHandler(flagging)
manager = Manager(args.config_file)
manager.validate_configs(lenient=args.all)
if flagging.flag:
exit(1)
if __name__ == '__main__':
main()