From d637f79517ba5e8061ba27a8be49b9435d9e1f62 Mon Sep 17 00:00:00 2001 From: Marica Date: Sat, 18 Sep 2021 14:23:44 +0530 Subject: [PATCH] fix: Handle `is_search_module_loaded` for redis version < 4.0.0 (#27574) - Return False if error occurs --- erpnext/e_commerce/redisearch.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/erpnext/e_commerce/redisearch.py b/erpnext/e_commerce/redisearch.py index d0626a3682..00265e21dd 100644 --- a/erpnext/e_commerce/redisearch.py +++ b/erpnext/e_commerce/redisearch.py @@ -20,14 +20,16 @@ def get_indexable_web_fields(): return [df.fieldname for df in valid_fields] def is_search_module_loaded(): - cache = frappe.cache() - out = cache.execute_command('MODULE LIST') + try: + cache = frappe.cache() + out = cache.execute_command('MODULE LIST') - parsed_output = " ".join( - (" ".join([s.decode() for s in o if not isinstance(s, int)]) for o in out) - ) - - return "search" in parsed_output + parsed_output = " ".join( + (" ".join([s.decode() for s in o if not isinstance(s, int)]) for o in out) + ) + return "search" in parsed_output + except Exception: + return False def if_redisearch_loaded(function): "Decorator to check if Redisearch is loaded."