diff -r 51983fcda6b1 -r a76571e27c6f bin/pvl.hosts-forward --- a/bin/pvl.hosts-forward Wed Feb 25 15:49:11 2015 +0200 +++ b/bin/pvl.hosts-forward Wed Feb 25 15:55:23 2015 +0200 @@ -1,6 +1,40 @@ #!/usr/bin/env python +import logging; log = logging.getLogger('pvl.hosts-forward') +import optparse +import pvl.args +import pvl.hosts import pvl.hosts.zone -import sys -sys.exit(pvl.hosts.zone.forward_main()) +def main (argv): + """ + Generate bind zonefiles from host definitions. + """ + + parser = optparse.OptionParser(main.__doc__) + parser.add_option_group(pvl.args.parser(parser)) + parser.add_option_group(pvl.hosts.config.optparser(parser)) + + parser.add_option('--forward-zone', metavar='DOMAIN', + help="Generate forward zone for domain") + + parser.add_option('--add-origin', action='store_true', + help="Include $ORIGIN directive in zone") + + # input + options, args = pvl.args.parse(parser, argv) + + if not options.forward_zone: + log.fatal("required --forward-zone") + return 1 + + hosts = pvl.hosts.apply(options, args) + + # process + for rr in pvl.hosts.zone.apply_hosts_forward(options, hosts, options.forward_zone): + print unicode(rr) + + return 0 + +if __name__ == '__main__': + pvl.args.main(main)