From 6cd4df3168cdda259bc057ade44810eb19fb5608 Mon Sep 17 00:00:00 2001 From: XchanBik Date: Sat, 10 May 2025 17:41:07 +0200 Subject: [PATCH] Create Utils.py --- Utils.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Utils.py diff --git a/Utils.py b/Utils.py new file mode 100644 index 0000000..cdddbca --- /dev/null +++ b/Utils.py @@ -0,0 +1,23 @@ +def filter_files_extensions(files: Collection[str], extensions: Collection[str]) -> list[str]: + return sorted(list(filter(lambda a: os.path.splitext(a)[-1].lower() in extensions or len(extensions) == 0, files))) + +def get_filename_list(folder_name: str, extension: str) -> tuple[list[str], dict[str, float], float]: + output_list = set() + global folder_names_and_paths + folders = folder_names_and_paths[folder_name] + output_folders = {} + + # Let's manually handle the extension filtering inside this loop + for x in folders[0]: + files, folders_all = recursive_search(x, excluded_dir_names=[".git"]) + + # Instead of using filter_files_extensions, we now manually filter files by extensions + extension_filtered_files = filter_files_by_extension(files, extension) # Assuming folders[1] contains the extensions + + # Update the output list with the filtered files + output_list.update(extension_filtered_files) + + # Merge folder info into output_folders + output_folders.update(folders_all) + + return sorted(list(output_list)), output_folders, time.perf_counter()