X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-base.git/blobdiff_plain/ae5be3680ee10c33ac65b186c3cf57e4cf652e45..ed658ce3ef8033566f0d2a2e62809a802d10a884:/scripts/invirt-getconf diff --git a/scripts/invirt-getconf b/scripts/invirt-getconf index d07b215..5b3681b 100755 --- a/scripts/invirt-getconf +++ b/scripts/invirt-getconf @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ invirt-getconf loads an invirt configuration file (either the original YAML @@ -16,28 +16,27 @@ Examples: invirt-getconf hosts.0.ip """ -from invirt import config -from sys import argv, exit, stderr, stdout -from optparse import OptionParser - -class invirt_exception(Exception): pass - -def main(argv): - try: - parser = OptionParser(usage = '%prog [options] key', - description = __doc__.strip().split('\n\n')[0]) - parser.add_option('-r', '--refresh', - action = 'store_true', - help = 'force the cache to be regenerated') - parser.add_option('-l', '--ls', - action = 'store_true', - help = 'list node\'s children') - opts, args = parser.parse_args() - - if len(args) > 1: - raise invirt_exception(__doc__.strip()) - elif args and args[0]: - components = args[0].split('.') +import argparse +import sys +import yaml + +import invirt + + +class InvirtException(Exception): + pass + + +def main(): + parser = argparse.ArgumentParser(description='Get values from invirt configuration file') + parser.add_argument('-r', '--refresh', action='store_true', help='Force regenerate the cache') + parser.add_argument('-l', '--ls', action='store_true', help='List children of node') + parser.add_argument('path', nargs='?', default='', help='Path of value to get') + + args = parser.parse_args() + + components = args.path.split('.') + else: components = []