bin/pvl.dns-process
changeset 716 4fecd0d1cf23
parent 648 8e3e6be9ac70
child 717 e37b0a857a5d
equal deleted inserted replaced
715:76ed62924d50 716:4fecd0d1cf23
    20     parser.add_option('--serial',               metavar='YYMMDDXX',
    20     parser.add_option('--serial',               metavar='YYMMDDXX',
    21             help="Set serial for SOA record")
    21             help="Set serial for SOA record")
    22 
    22 
    23     parser.add_option('--include-path',         metavar='PATH',
    23     parser.add_option('--include-path',         metavar='PATH',
    24             help="Rewrite includes to given absolute path")
    24             help="Rewrite includes to given absolute path")
       
    25     
       
    26     parser.add_option('--include-trace',         metavar='FILE',
       
    27             help="Write out included files to given file")
    25 
    28 
    26     # input
    29     # input
    27     options, args = pvl.args.parse(parser, argv)
    30     options, args = pvl.args.parse(parser, argv)
    28     
    31     
    29     # process
    32     # process
    32     if options.serial:
    35     if options.serial:
    33         log.info("Set zone serial: %s", options.serial)
    36         log.info("Set zone serial: %s", options.serial)
    34 
    37 
    35         zone = list(pvl.dns.process.zone_serial(zone, options.serial))
    38         zone = list(pvl.dns.process.zone_serial(zone, options.serial))
    36 
    39 
       
    40     if options.include_trace:
       
    41         include_trace = [ ]
       
    42     else:
       
    43         include_trace = None
       
    44 
    37     if options.include_path:
    45     if options.include_path:
    38         log.info("Set zone include path: %s", options.include_path)
    46         log.info("Set zone include path: %s", options.include_path)
    39 
    47 
    40         zone = list(pvl.dns.process.zone_includes_path(zone, options.include_path))
    48         zone = list(pvl.dns.process.zone_includes(zone, options.include_path,
       
    49                 include_trace   = include_trace,
       
    50         ))
       
    51 
       
    52     if options.include_trace:
       
    53         with pvl.args.apply_file(options.include_trace, 'w') as file:
       
    54             for include in include_trace:
       
    55                 print >>file, include
    41     
    56     
    42     pvl.dns.process.apply_zone_output(options, zone)
    57     pvl.dns.process.apply_zone_output(options, zone)
    43 
    58 
    44     return 0
    59     return 0
    45 
    60