def cmd_cmdsearch(self, data): all_data = data.message.strip().split(' ', 1) if len(all_data) != 2: log(ERROR, CMD_INVALID_CMD_SEARCH, origin=L_COMMAND, error_type=CMD_INVALID_ERR, print_mode=PrintMode.VERBOSE_PRINT.value) gs.gui_service.quick_gui( CMD_INVALID_CMD_SEARCH, text_type='header', box_align='left', user=gs.mumble_inst.users[data.actor]['name'], ignore_whisper=True) return search_query = all_data[1].strip() all_cmds = GetDB.get_all_commands(db_cursor=get_memory_db().cursor()) if not all_cmds: gs.gui_service.quick_gui(ERR_DATABASE_CMD, text_type='header', text_align='left', box_align='left') return cmd_list = [f"{cmd_item[0]}" for cmd_item in all_cmds] cmd_ratios = process.extract(search_query, cmd_list) match_list = [] for cmd_item in cmd_ratios: if cmd_item[1] > 80 and len(match_list) < 10: match_list.append(cmd_item[0]) match_str = f"Command Search Results for <font color={gs.cfg[C_PGUI_SETTINGS][P_TXT_SUBHEAD_COL]}>{search_query}</font>: " if len(match_list) > 0: for i, clip in enumerate(match_list): match_str += f"<br><font color={gs.cfg[C_PGUI_SETTINGS][P_TXT_IND_COL]}>[{i + 1}]</font> - {clip}" else: match_str += "None" gs.gui_service.quick_gui(match_str, text_type='header', text_align='left', box_align='left') log(INFO, INFO_DISPLAYED_CMD_SEARCH, origin=L_COMMAND, print_mode=PrintMode.VERBOSE_PRINT.value)
def cmd_cmdsearch(self, data): all_data = data.message.strip().split(' ', 1) if len(all_data) != 2: rprint( f"Incorrect format! Format: {rutils.get_command_token()}cmdsearch 'command'" ) gs.gui_service.quick_gui( f"Incorrect format! Format: {rutils.get_command_token()}cmdsearch 'command'", text_type='header', box_align='left', user=gs.mumble_inst.users[data.actor]['name'], ignore_whisper=True) return search_query = all_data[1].strip() all_cmds = GetDB.get_all_commands(db_cursor=get_memory_db().cursor()) if not all_cmds: gs.gui_service.quick_gui( "There was an error retrieving the commands from the database.", text_type='header', text_align='left', box_align='left') return cmd_list = [f"{cmd_item[0]}" for cmd_item in all_cmds] file_ratios = process.extract(search_query, cmd_list) match_list = [] for file_item in file_ratios: if file_item[1] > 80 and len(match_list) < 10: match_list.append(file_item[0]) match_str = f"Search Results for <font color={gs.cfg[C_PGUI_SETTINGS][P_TXT_SUBHEAD_COL]}>{search_query}</font>: " if len(match_list) > 0: for i, clip in enumerate(match_list): match_str += f"<br><font color={gs.cfg[C_PGUI_SETTINGS][P_TXT_IND_COL]}>[{i + 1}]</font> - {clip}" else: match_str += "None" gs.gui_service.quick_gui(match_str, text_type='header', text_align='left', box_align='left')