pvl/rrd/args.py
author Tero Marttila <terom@paivola.fi>
Sat, 21 Dec 2013 22:57:44 +0200
changeset 329 b3778c190aa5
parent 225 3c2d0dd42045
permissions -rw-r--r--
version 0..0:

pvl.rrd: api.report()
pvl.wlan-syslog: track openwrt hostapd syslog wlan sta activity
pvl.verkko.wlan: basic Table view
pvl.dns-serial
pvl.dns-zone
pvl.dhcp.config: nested blocks
pvl.hosts-import: import hosts from dns/dhcp
pvl.hosts-dns: generate --forward-zone=paivola.fi and --reverse-zone=194.197.235
pvl.hosts-dhcp: generate dhcp hosts conf
156
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
import optparse
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
import pvl.rrd.graph # interface
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
from pvl.rrd import RRDDatabase, RRDCache
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
225
3c2d0dd42045 pvl.rrd.args: fix logging/sys
Tero Marttila <terom@paivola.fi>
parents: 156
diff changeset
     6
import logging; log = logging.getLogger('pvl.rrd.args')
3c2d0dd42045 pvl.rrd.args: fix logging/sys
Tero Marttila <terom@paivola.fi>
parents: 156
diff changeset
     7
import sys
3c2d0dd42045 pvl.rrd.args: fix logging/sys
Tero Marttila <terom@paivola.fi>
parents: 156
diff changeset
     8
156
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
def parser (parser) :
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
    """
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
        optparse OptionGroup.
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
    """
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
    parser = optparse.OptionGroup(parser, "RRD options")
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
    parser.add_option('--rrd-type', metavar='TYPE', default='collectd',
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
        help="mrtg/collectd")
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
    parser.add_option('--rrd', metavar='PATH',
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
        help="Find RRD files")
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
    parser.add_option('--rrd-cache', metavar='PATH',
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
        help="Cache RRD graphs")
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
    return parser
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
def apply (options) :
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
    """
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
        Return RRDDatabase from options.
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
    """
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
    # path
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
    if not options.rrd :
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
        log.error("no --rrd given")
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    34
        sys.exit(2)
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    35
    
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    36
    # type
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    37
    graph_type = pvl.rrd.graph.interface_type(options.rrd_type)
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    38
    
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    39
    # cache
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    40
    if options.rrd_cache :
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    41
        cache = RRDCache(options.rrd_cache)
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    42
    else :
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
        cache = None
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
    return RRDDatabase(options.rrd, graph_type, cache)
999ae3e9fdec pvl.web.rrd: split out pvl.rrd.args + pvl.rrd.rrds; bugfix
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    46