diff --git a/Modules/search_for_word.py b/Modules/search_for_word.py deleted file mode 100644 index 9ca7cbd..0000000 --- a/Modules/search_for_word.py +++ /dev/null @@ -1,56 +0,0 @@ -import os -import ast -from colorama import Fore, Style -from Modules.submenu import build_submenu - -def search_for_word_in_file(file_path, search_term): - """ - Searches for a word in the titles and content of functions in a specified file. - Returns a list of matching results with the file name. - """ - results = [] - with open(file_path, "r") as file: - try: - tree = ast.parse(file.read()) - for node in ast.walk(tree): - if isinstance(node, ast.FunctionDef): # Look for function definitions - for child in ast.iter_child_nodes(node): - if isinstance(child, ast.Expr) and isinstance(child.value, ast.Str): - # Extract docstring or title-like expressions - docstring = child.value.s - if search_term.lower() in docstring.lower(): - results.append(f"{file_path} -> {node.name}: {docstring.strip()}") - except Exception as e: - print(f"Error reading {file_path}: {e}") - return results - -def search_for_word_in_directory(directory, search_term): - """ - Searches through all `.py` files in a directory for a specific term. - """ - matches = [] - for root, _, files in os.walk(directory): - for file in files: - if file.endswith(".py"): - file_path = os.path.join(root, file) - matches.extend(search_for_word_in_file(file_path, search_term)) - return matches - -def create_search_submenu(search_results): - """ - Creates a dynamic submenu for search results. - """ - actions = {} - for idx, result in enumerate(search_results, start=1): - file_name, function_info = result.split(" -> ", 1) - actions[str(idx)] = { - "description": f"{file_name}: {function_info.split(':')[0]}", - "function": lambda: print(f"\nViewing: {result}\n"), # Placeholder action - } - - actions["ALL"] = { - "description": "Display All Results", - "function": lambda: print("\n".join(search_results)) - } - - build_submenu("Search Results", actions)