#!/usr/bin/env python
import logging; log = logging.getLogger('pvl.hosts-forward')
import optparse
import pvl.args
import pvl.hosts
import pvl.hosts.zone
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)