'dumps the command table'

def dump_command_table(self):

    self.command_table = APPLICATION.configuration.get_command_table()
    command_file = config.CONFIGURATION.get_help_files()
    self.install_modules()
    add_id_parameters(self.command_table)
    data = {}
    for cmd in self.command_table:
        com_descrip = {}
        param_descrip = {}
        try:
            command_description = self.command_table[cmd].description
            if callable(command_description):
                command_description = command_description()
            com_descrip['help'] = command_description
            com_descrip['examples'] = ''
            for key in self.command_table[cmd].arguments:
                required = ''
                help_desc = ''
                if self.command_table[cmd].arguments[key].type.settings.get('required'):
                    required = '[REQUIRED]'
                if self.command_table[cmd].arguments[key].type.settings.get('help'):
                    help_desc = self.command_table[cmd].arguments[key].type.settings.get('help')
                name_options = []
                for name in self.command_table[cmd].arguments[key].options_list:
                    name_options.append(name)
                options = {'name': name_options, 'required': required, 'help': help_desc}
                param_descrip[self.command_table[cmd].arguments[key].options_list[0]] = options
            com_descrip['parameters'] = param_descrip
            data[cmd] = com_descrip
        except (ImportError, ValueError):
            pass
    self.load_help_files(data)
    with open(os.path.join(get_cache_dir(), command_file), 'w') as help_file:
        json.dump(data, help_file)
