bin/pvl.dhcp-conf
author Tero Marttila <terom@paivola.fi>
Sun, 07 Sep 2014 14:21:56 +0300
changeset 424 e77e967d59b0
parent 376 31d9ae0c1dab
permissions -rwxr-xr-x
hgignore: use glob; ignore snmp mibs
321
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#!/usr/bin/env python
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
"""
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
    Process dhcpd configs.
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
    Takes a conf file as input, and gives a conf file as output.
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
"""
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
import pvl.args
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
import pvl.dhcp.config
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
import os.path
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
import optparse
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
import logging; log = logging.getLogger('pvl.dhcp-conf')
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
def apply_input (options, conf) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
        Parse (items, blocks) from given dhcp.conf path.
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
    file = pvl.args.apply_file(conf, 'r')
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
    return pvl.dhcp.config.DHCPConfigParser.load(file)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
376
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    24
QUOTE_ITEMS = set((
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    25
    'filename',
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    26
))
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    27
321
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
def process_dhcp_items (options, block, items) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
        Yield items for output from given input items
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
    for item in items :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    34
        name, args = item[0], item[1:]
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    35
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
        log.debug("%s: %s: %s", block, name, args)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
        if name == 'include' :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
            include, = args
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
            
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
            if options.include_path :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
                include = os.path.join(options.include_path, include)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
                log.info("include: %s", include)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
            yield 'include', '"{include}"'.format(include=include)
376
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    46
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    47
        elif name in QUOTE_ITEMS :
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    48
            yield name, ' '.join('"{arg}"'.format(arg=arg) for arg in args)
31d9ae0c1dab pvl.dhcp-conf: whitelist set of attributes to quote
Tero Marttila <terom@paivola.fi>
parents: 321
diff changeset
    49
321
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    50
        else :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
            yield item
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    52
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    53
def process_dhcp_block (options, block, items, blocks) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    54
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    55
        Yield block for output for given input block.
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    56
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    57
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    58
    log.debug("%s -> %s %s", block, items, blocks)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    59
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    60
    items = list(process_dhcp_items(options, block, items))
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    61
    blocks = [process_dhcp_block(options, subblock, subitems, subblocks) for subblock, subitems, subblocks in blocks]
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    62
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    63
    log.debug("%s <- %s %s", block, items, blocks)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    64
    
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    65
    return block, items, blocks
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    66
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    67
def process_dhcp_conf (options, conf) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    68
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    69
        Yield (items, blocks) for output for given input (items, blocks).
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    70
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    71
    items, blocks = conf
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    72
    
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    73
    log.debug("-> %s %s", items, blocks)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    74
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    75
    _, items, blocks = process_dhcp_block(options, None, items, blocks)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    76
    
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    77
    log.debug("<- %s %s", items, blocks)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    78
    
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    79
    return items, blocks
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    80
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    81
def process_output (options, items, blocks) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    82
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    83
        Generate output lines from given (items, blocks).
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    84
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    85
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    86
    for item in items :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    87
        yield '\t'.join(item) + ';'
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    88
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    89
    for block, subitems, subblocks in blocks :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    90
        yield ' '.join(block) + ' {'
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    91
        for line in process_output(options, subitems, subblocks) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    92
            yield '\t' + line
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    93
        yield '}'
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    94
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    95
def apply_output (options, conf) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    96
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    97
        Write output line for given (items, blocks) to --output-conf.
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    98
    """
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    99
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   100
    file = pvl.args.apply_file(options.output_conf, 'w')
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   101
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   102
    items, blocks = conf
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   103
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   104
    for line in process_output(options, items, blocks) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   105
        print >>file, line
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   106
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   107
def main (argv) :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   108
    parser = optparse.OptionParser(__doc__)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   109
    parser.add_option_group(pvl.args.parser(parser))
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   110
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   111
    parser.add_option('--output-conf',          metavar='FILE',
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   112
            help="Output conf to file; default stdout")
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   113
    parser.add_option('--include-path',         metavar='PATH',
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   114
            help="Adjust includes to use given path prefix")
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   115
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   116
    options, args = parser.parse_args(argv[1:])
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   117
    pvl.args.apply(options)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   118
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   119
    for conf in args :
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   120
        # input
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   121
        conf = apply_input(options, conf)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   122
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   123
        # process
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   124
        conf = process_dhcp_conf(options, conf)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   125
        
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   126
        # output
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   127
        apply_output(options, conf)
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   128
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   129
if __name__ == '__main__':
e931ff718ead pvl.dhcp-conf: simplistic --include-path processing for dhcp.conf files
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
   130
    pvl.args.main(main)