bin/pvl.rrd-graph
changeset 143 fb48ba17ae3e
child 156 999ae3e9fdec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/pvl.rrd-graph	Sun Jan 20 15:37:59 2013 +0200
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+
+"""
+    pvl.rrd graph output
+"""
+
+__version__ = '0.1'
+
+import pvl.args
+import pvl.rrd.graph
+
+import os.path
+
+import logging, optparse
+
+log = logging.getLogger('main')
+
+def parse_options (argv) :
+    """
+        Parse command-line arguments.
+    """
+
+    prog = argv[0]
+
+    parser = optparse.OptionParser(
+            prog        = prog,
+            usage       = '%prog: [options]',
+            version     = __version__,
+
+            # module docstring
+            description = __doc__,
+    )
+    
+    # options
+    parser.add_option_group(pvl.args.parser(parser))
+
+    parser.add_option('--style',        metavar='STYLE',        default='detail',
+            help="overview/detail")
+    parser.add_option('--interval',     metavar='INTERVAL',     default='daily',
+            help="daily/weekly/yearly")
+    parser.add_option('--graph',        metavar='PATH',         default='.png',
+            help="output file")
+
+    # parse
+    options, args = parser.parse_args(argv[1:])
+    
+    # apply
+    pvl.args.apply(options, prog)
+
+    return options, args
+
+def graph (options, rrd) :
+    """
+        Graph given rrd.
+    """
+
+    # out
+    path, ext = os.path.splitext(rrd)
+    ext = options.graph
+    out = path + ext
+    
+    # graph
+    log.info("%s -> %s", rrd, out)
+    
+    pvl.rrd.graph.collectd_ifoctets(options.style, options.interval, "Test", rrd, out)
+
+def main (argv) :
+    """
+        Usage: [options] rrd
+    """
+
+    options, args = parse_options(argv)
+    
+    for rrd in args :
+        graph(options, rrd)
+
+    # done
+    log.info("Exiting...")
+    return 0
+
+if __name__ == '__main__':
+    import sys
+
+    sys.exit(main(sys.argv))