From b166172d10faabff877f72094edc7be5746423a1 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sun, 7 Apr 2019 23:45:08 -0700 Subject: [PATCH] Only perform case-insensitive search if needed --- .bin/Scripts/functions/ufd.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.bin/Scripts/functions/ufd.py b/.bin/Scripts/functions/ufd.py index 83dd1852..f0ce6ad3 100644 --- a/.bin/Scripts/functions/ufd.py +++ b/.bin/Scripts/functions/ufd.py @@ -35,10 +35,15 @@ def case_insensitive_search(path, item): def find_path(path): """Find path case-insensitively, returns pathlib.Path obj.""" - parts = pathlib.Path(path).resolve().relative_to('/').parts - real_path = '/' + path_obj = pathlib.Path(path).resolve() + + # Quick check first + if path_obj.exists(): + return path_obj # Fix case + parts = path_obj.relative_to('/').parts + real_path = '/' for part in parts: try: real_path = case_insensitive_search(real_path, part)