Source code for octodns.cmds.validate

'''
Octo-DNS Validator
'''

from logging import WARNING, getLogger
from sys import exit

from octodns.cmds.args import ArgumentParser
from octodns.manager import Manager


[docs] class FlaggingHandler: level = WARNING
[docs] def __init__(self): self.flag = False
[docs] def handle(self, record): self.flag = True
[docs] 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()