Cleanup
This commit is contained in:
parent
25e57e89ab
commit
672418af19
3 changed files with 12 additions and 12 deletions
51
ungleich
Executable file
51
ungleich
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
|
||||
from ungleich_dns import ungleichDNS
|
||||
from ungleich_ripe import ungleichRIPE
|
||||
|
||||
VERSION = "0.0.3"
|
||||
|
||||
class ungleichCLI(object):
|
||||
def __init__(self):
|
||||
self._init_parser()
|
||||
|
||||
# FIXME: make it generic
|
||||
dns = ungleichDNS(self.parser, self.parser_parents)
|
||||
ripe = ungleichRIPE(self.parser, self.parser_parents)
|
||||
|
||||
def _init_parser(self):
|
||||
self.parser = {}
|
||||
|
||||
# Options _all_ parsers have in common
|
||||
self.parser['loglevel'] = argparse.ArgumentParser(add_help=False)
|
||||
self.parser['loglevel'].add_argument(
|
||||
'-v', '--verbose',
|
||||
action='count',
|
||||
dest='verbose',
|
||||
required=False)
|
||||
|
||||
# Main subcommand parser
|
||||
self.parser['main'] = argparse.ArgumentParser(
|
||||
description='ungleich-cli ' + VERSION)
|
||||
self.parser['main'].add_argument(
|
||||
'-V', '--version', help='Show version.', action='version',
|
||||
version='%(prog)s ' + VERSION)
|
||||
self.parser['sub'] = self.parser['main'].add_subparsers(
|
||||
title="Commands", dest="command")
|
||||
|
||||
# Parents used for all parsers
|
||||
self.parser_parents = self.parser['loglevel']
|
||||
|
||||
def commandline(self):
|
||||
args = self.parser['main'].parse_args()
|
||||
if 'func' in args:
|
||||
args.func(args)
|
||||
else:
|
||||
self.parser['main'].print_help()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cli = ungleichCLI()
|
||||
cli.commandline()
|
||||
Loading…
Add table
Add a link
Reference in a new issue