diff --git a/scripts/addons_core/bl_pkg/bl_extension_ops.py b/scripts/addons_core/bl_pkg/bl_extension_ops.py index ebdf6f0cc50..fc8f6ed4fe2 100644 --- a/scripts/addons_core/bl_pkg/bl_extension_ops.py +++ b/scripts/addons_core/bl_pkg/bl_extension_ops.py @@ -253,15 +253,15 @@ def lock_result_any_failed_with_report(op, lock_result, report_type='ERROR'): return any_errors -def pkg_info_check_exclude_filter_ex(name, tagline, search_lower): +def pkg_info_check_exclude_filter_ex(name, tagline, search_casefold): return ( - (search_lower in name.lower() or search_lower in iface_(name).lower()) or - (search_lower in tagline.lower() or search_lower in iface_(tagline).lower()) + (search_casefold in name.casefold() or search_casefold in iface_(name).casefold()) or + (search_casefold in tagline.casefold() or search_casefold in iface_(tagline).casefold()) ) -def pkg_info_check_exclude_filter(item, search_lower): - return pkg_info_check_exclude_filter_ex(item.name, item.tagline, search_lower) +def pkg_info_check_exclude_filter(item, search_casefold): + return pkg_info_check_exclude_filter_ex(item.name, item.tagline, search_casefold) def extension_theme_enable_filepath(filepath): @@ -667,7 +667,7 @@ def _extensions_repo_from_directory_and_report(directory, report_fn): def _pkg_marked_by_repo(pkg_manifest_all): # NOTE: pkg_manifest_all can be from local or remote source. wm = bpy.context.window_manager - search_lower = wm.extension_search.lower() + search_casefold = wm.extension_search.casefold() filter_by_type = blender_filter_by_type_map[wm.extension_type] repo_pkg_map = {} @@ -683,7 +683,7 @@ def _pkg_marked_by_repo(pkg_manifest_all): continue if filter_by_type and (filter_by_type != item.type): continue - if search_lower and not pkg_info_check_exclude_filter(item, search_lower): + if search_casefold and not pkg_info_check_exclude_filter(item, search_casefold): continue pkg_list = repo_pkg_map.get(repo_index) diff --git a/scripts/addons_core/bl_pkg/bl_extension_ui.py b/scripts/addons_core/bl_pkg/bl_extension_ui.py index 03b579f0432..dfdd59696a4 100644 --- a/scripts/addons_core/bl_pkg/bl_extension_ui.py +++ b/scripts/addons_core/bl_pkg/bl_extension_ui.py @@ -363,7 +363,7 @@ def addons_panel_draw_items( *, addon_modules, # `Dict[str, ModuleType]` used_addon_module_name_map, # `Dict[str, bpy.types.Addon]` - search_lower, # `str` + search_casefold, # `str` addon_tags_exclude, # `Set[str]` enabled_only, # `bool` addon_extension_manifest_map, # `Dict[str, PkgManifest_Normalized]` @@ -415,11 +415,11 @@ def addons_panel_draw_items( item_tracker_url = bl_info.get("tracker_url") del bl_info - if search_lower and ( + if search_casefold and ( not pkg_info_check_exclude_filter_ex( item_name, item_description, - search_lower, + search_casefold, ) ): continue @@ -490,7 +490,7 @@ def addons_panel_draw_items( def addons_panel_draw_impl( self, context, # `bpy.types.Context` - search_lower, # `str` + search_casefold, # `str` addon_tags_exclude, # `Set[str]` enabled_only, # `bool` ): @@ -553,7 +553,7 @@ def addons_panel_draw_impl( context, addon_modules=addon_modules, used_addon_module_name_map=used_addon_module_name_map, - search_lower=search_lower, + search_casefold=search_casefold, addon_tags_exclude=addon_tags_exclude, enabled_only=enabled_only, addon_extension_manifest_map=addon_extension_manifest_map, @@ -630,7 +630,7 @@ def addons_panel_draw(panel, context): addons_panel_draw_impl( panel, context, - wm.addon_search.lower(), + wm.addon_search.casefold(), addon_tags_exclude, view.show_addons_enabled_only, ) @@ -787,7 +787,7 @@ def extensions_map_from_legacy_addons_reverse_lookup(pkg_id): def extensions_panel_draw_impl( self, context, # `bpy.types.Context` - search_lower, # `str` + search_casefold, # `str` filter_by_type, # `str` extension_tags_exclude, # `Set[str]` enabled_only, # `bool` @@ -916,7 +916,7 @@ def extensions_panel_draw_impl( item = item_local or item_remote if filter_by_type and (filter_by_type != item.type): continue - if search_lower and (not pkg_info_check_exclude_filter(item, search_lower)): + if search_casefold and (not pkg_info_check_exclude_filter(item, search_casefold)): continue is_installed = item_local is not None @@ -1492,7 +1492,7 @@ def extensions_panel_draw(panel, context): extensions_panel_draw_impl( panel, context, - wm.extension_search.lower(), + wm.extension_search.casefold(), blender_filter_by_type_map[wm.extension_type], extension_tags_exclude, wm.extension_enabled_only, diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py index 11f754221f1..e013d37bfe9 100644 --- a/scripts/startup/bl_ui/space_userpref.py +++ b/scripts/startup/bl_ui/space_userpref.py @@ -1710,7 +1710,7 @@ class USERPREF_UL_extension_repos(UIList): range(len(items)), key=lambda i: ( items[i].use_remote_url is False, - items[i].name.lower(), + items[i].name.casefold(), ) )): indices[orig_index] = index @@ -2441,7 +2441,7 @@ class USERPREF_PT_addons(AddOnPanel, Panel): show_enabled_only = prefs.view.show_addons_enabled_only filter = wm.addon_filter - search = wm.addon_search.lower() + search = wm.addon_search.casefold() support = wm.addon_support # initialized on demand @@ -2469,11 +2469,11 @@ class USERPREF_PT_addons(AddOnPanel, Panel): continue if search and not ( - (search in bl_info["name"].lower() or - search in iface_(bl_info["name"]).lower()) or - (bl_info["author"] and (search in bl_info["author"].lower())) or - ((filter == "All") and (search in bl_info["category"].lower() or - search in iface_(bl_info["category"]).lower())) + (search in bl_info["name"].casefold() or + search in iface_(bl_info["name"]).casefold()) or + (bl_info["author"] and (search in bl_info["author"].casefold())) or + ((filter == "All") and (search in bl_info["category"].casefold() or + search in iface_(bl_info["category"]).casefold())) ): continue