pvl/rrd/args.py
author Tero Marttila <terom@paivola.fi>
Sun, 22 Dec 2013 19:03:57 +0200
changeset 336 edaa5d0aa57d
parent 225 3c2d0dd42045
permissions -rw-r--r--
version 0.6.1: pvl.hosts forward/reverse delegation, and include= support
import optparse

import pvl.rrd.graph # interface
from pvl.rrd import RRDDatabase, RRDCache

import logging; log = logging.getLogger('pvl.rrd.args')
import sys

def parser (parser) :
    """
        optparse OptionGroup.
    """

    parser = optparse.OptionGroup(parser, "RRD options")

    parser.add_option('--rrd-type', metavar='TYPE', default='collectd',
        help="mrtg/collectd")

    parser.add_option('--rrd', metavar='PATH',
        help="Find RRD files")

    parser.add_option('--rrd-cache', metavar='PATH',
        help="Cache RRD graphs")

    return parser

def apply (options) :
    """
        Return RRDDatabase from options.
    """
    # path
    if not options.rrd :
        log.error("no --rrd given")
        sys.exit(2)
    
    # type
    graph_type = pvl.rrd.graph.interface_type(options.rrd_type)
    
    # cache
    if options.rrd_cache :
        cache = RRDCache(options.rrd_cache)
    else :
        cache = None

    return RRDDatabase(options.rrd, graph_type, cache)