From 0b3ece1189b11e36790c99a1a80f75413b826bb4 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Fri, 13 Sep 2024 23:52:31 +0300 Subject: `qmk find`: Fix handling of keys with dots in filter functions (#24393) --- lib/python/qmk/search.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib/python/qmk/search.py') diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index baaf11eb34..25e3d92066 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -74,28 +74,30 @@ class Exists(FilterFunction): func_name = "exists" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key in target_info.data + return self.key in target_info.dotty class Absent(FilterFunction): func_name = "absent" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key not in target_info.data + return self.key not in target_info.dotty class Length(FilterFunction): func_name = "length" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and len(target_info.data[self.key]) == int(self.value)) + info_dotty = target_info.dotty + return (self.key in info_dotty and len(info_dotty[self.key]) == int(self.value)) class Contains(FilterFunction): func_name = "contains" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and self.value in target_info.data[self.key]) + info_dotty = target_info.dotty + return (self.key in info_dotty and self.value in info_dotty[self.key]) def _get_filter_class(func_name: str, key: str, value: str) -> Optional[FilterFunction]: -- cgit v1.2.3