From 45d6c286c02dfd456226251ff912936f7a6cd1c7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 11 Aug 2023 07:36:13 +0530 Subject: [PATCH] Edit book: Saved searches: Fix incorrect import in generated source code for some builtin functions --- src/calibre/utils/icu.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/calibre/utils/icu.py b/src/calibre/utils/icu.py index 596adfee46..19ad044954 100644 --- a/src/calibre/utils/icu.py +++ b/src/calibre/utils/icu.py @@ -183,7 +183,7 @@ def make_two_arg_func(collator_function, func_name='strcmp'): return two_args -def make_change_case_func(which): +def make_change_case_func(which, name): def change_case(x): try: @@ -201,6 +201,7 @@ def make_change_case_func(which): return x return _icu.change_case(x, which, _locale) raise + change_case.__name__ = name return change_case # }}} @@ -216,9 +217,9 @@ collation_order_for_partitioning = make_sort_key_func(non_numeric_sort_collator, strcmp = make_two_arg_func(sort_collator) case_sensitive_strcmp = make_two_arg_func(case_sensitive_collator) primary_strcmp = make_two_arg_func(primary_collator) -upper = make_change_case_func(_icu.UPPER_CASE) -lower = make_change_case_func(_icu.LOWER_CASE) -title_case = make_change_case_func(_icu.TITLE_CASE) +upper = make_change_case_func(_icu.UPPER_CASE, 'upper') +lower = make_change_case_func(_icu.LOWER_CASE, 'lower') +title_case = make_change_case_func(_icu.TITLE_CASE, 'title_case') def capitalize(x): @@ -228,11 +229,7 @@ def capitalize(x): return x -try: - swapcase = _icu.swap_case -except AttributeError: # For people running from source - def swapcase(x): - return x.swapcase() +swapcase = swap_case = _icu.swap_case find = make_two_arg_func(collator, 'find') primary_find = make_two_arg_func(primary_collator, 'find')