'Print out help'

def do_help(self, input):

    args = input.strip().split()
    if (len(args) > 0):
        arg = args[0]
        try:
            func = self.ctx.lookup_helpfunction(arg)
            func()
        except AttributeError:
            pass
        try:
            func = getattr(self, ('help_' + arg.lower()))
            func()
        except AttributeError:
            pass
    else:
        cmds = (self.get_shortcut_help() + self.get_help_lists(self.get_names(), self))
        cmdlist = {'title': 'Core    Commands', 'commands': cmds}
        self.io.print_cmd_list(cmdlist)
        if (self.ctx.get_name() != self.defaultcontext.get_name()):
            cmds = self.get_help_lists(self.ctx.get_names(), self.ctx)
            cmdlist = {'title': ('%s    Commands' % self.ctx.get_type()), 'commands': cmds}
            self.io.print_cmd_list(cmdlist)
