From eef54c8a8620c74d6643bb5d4d9ff81f02018271 Mon Sep 17 00:00:00 2001 From: Weves Date: Wed, 8 May 2024 16:26:14 -0700 Subject: [PATCH] Add non-ee fallback to fetch_versioned_implementation --- backend/danswer/utils/variable_functionality.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/danswer/utils/variable_functionality.py b/backend/danswer/utils/variable_functionality.py index 81883f683..61414effd 100644 --- a/backend/danswer/utils/variable_functionality.py +++ b/backend/danswer/utils/variable_functionality.py @@ -25,5 +25,14 @@ global_version = DanswerVersion() @functools.lru_cache(maxsize=128) def fetch_versioned_implementation(module: str, attribute: str) -> Any: logger.debug("Fetching versioned implementation for %s.%s", module, attribute) - module_full = f"ee.{module}" if global_version.get_is_ee_version() else module - return getattr(importlib.import_module(module_full), attribute) + is_ee = global_version.get_is_ee_version() + + module_full = f"ee.{module}" if is_ee else module + try: + return getattr(importlib.import_module(module_full), attribute) + except ModuleNotFoundError: + # try the non-ee version as a fallback + if is_ee: + return getattr(importlib.import_module(module), attribute) + + raise