Repository URL to install this package:
|
Version:
0.3.30 ▾
|
import argparse
from . import commands
from .. import config
class Boss(object):
def __init__(self, args):
self.parser = self.create_parser()
self.parsed_args = self.parser.parse_args(args)
# TODO: initialize the config *here* and not in config module load
self.config = config.config
def run(self):
return self.parsed_args.func(**vars(self.parsed_args))
def create_parser(self):
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(help='commands')
for command in commands.__all__:
getattr(commands, command).configure_parser(self, subparsers.add_parser)
return parser
@classmethod
def main(cls, *args):
return cls(args).run()