Command for manipulating or viewing datasets; has a number of subcommands

def dataset(self):
        '''Command for manipulating or viewing datasets; has a number of subcommands'''

        # Initialize the addcorpus subcommand's argparser
        description = '''The dataset subcommand has a number of subcommands of its own, including:
            list\t-\tlists all available datasets in dsrt's library
            prepare\t-\tprocesses a corpus into a dataset and adds the processed dataset to dsrt's library'''

        parser = argparse.ArgumentParser(description=description)
        self.init_dataset_args(parser)

        # parse the args we got
        args = parser.parse_args(sys.argv[2:3])

        corpus_command = 'dataset_' + args.dataset_command

        if not hasattr(self, corpus_command):
            print('Unrecognized dataset command.')
            parser.print_help()
            exit(1)

        getattr(self, corpus_command)()