import argparse


class BaseParser:
    def __init__(self, command):
        self.arg_parser = argparse.ArgumentParser(command, add_help=False)
        self.subparser = self.arg_parser.add_subparsers(dest='{}_subcommand'.format(command))
        self.common_args = {'add_help': False}

        methods = [attr for attr in dir(self) if not attr.startswith('__')
                   and type(getattr(self, attr)).__name__ == 'method']
        for method in methods:
            getattr(self, method)(**self.common_args)