terom@271: #!/usr/bin/env python terom@271: terom@271: import logging; log = logging.getLogger('pvl.hosts-dhcp') terom@271: import optparse tero@479: import pvl.args tero@479: import pvl.hosts tero@479: import pvl.hosts.dhcp terom@271: tero@479: def main (argv): terom@271: """ terom@271: Generate DHCP host configs from host definitions. terom@271: """ terom@271: terom@271: parser = optparse.OptionParser(main.__doc__) terom@271: parser.add_option_group(pvl.args.parser(parser)) tero@479: parser.add_option_group(pvl.hosts.config.optparser(parser)) terom@271: terom@271: # input tero@479: options, args = pvl.args.parse(parser, argv) tero@479: terom@670: if not args: terom@670: log.fatal("no hosts given as input") terom@670: return 1 terom@670: terom@271: hosts = pvl.hosts.apply(options, args) terom@271: terom@271: # process tero@482: try: terom@669: for block in pvl.hosts.dhcp.dhcp_hosts(hosts): terom@669: for line in pvl.dhcp.config.build_block(block): terom@669: print line terom@669: terom@669: print '' terom@669: tero@482: except pvl.hosts.HostError as error: tero@482: log.error("%s", error) tero@482: return 3 terom@271: terom@271: if __name__ == '__main__': terom@271: pvl.args.main(main)