Run a single command, or else the main shell loop.

        `args` should be the :class:`argparse.Namespace` object after
        being set up via :meth:`add_arguments`.

def main(self, args):
        '''Run a single command, or else the main shell loop.

        `args` should be the :class:`argparse.Namespace` object after
        being set up via :meth:`add_arguments`.

        '''
        if args.action:
            self.runcmd(args.action, args.arguments)
        else:
            self.cmdloop()