support case insensitive and normalized file and folder names.

This commit is contained in:
2023-07-19 13:46:23 +09:00
parent 0f12549ec3
commit b569c20b6e
5 changed files with 14 additions and 11 deletions

View File

@ -1,4 +1,5 @@
from typing import Final, NamedTuple
from unicodedata import normalize
from pydantic.dataclasses import dataclass
@ -71,7 +72,9 @@ class Folder(FolderSimple):
path: str
def find_sub_folder(self, name: str) -> FolderSimple | None:
return next((x for x in self.sub_folders if x.name == name), None)
_name = normalize("NFC", name).lower()
return next((x for x in self.sub_folders if x.name.lower() == _name), None)
def find_file(self, name: str) -> File | None:
return next((x for x in self.files if x.name == name), None)
_name = normalize("NFC", name).lower()
return next((x for x in self.files if x.name.lower() == _name), None)