From 2bc7969652f49e4ccca7fda7ce8b6fcee3599c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 16 Apr 2024 18:33:38 +0200 Subject: [PATCH] Fallback to the default language if it does not exist for product data feed This avoid to fill the cache with unsupported languages. --- modules/web_shop_product_data_feed/web.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/web_shop_product_data_feed/web.py b/modules/web_shop_product_data_feed/web.py index 533fee0550..e41d007f40 100644 --- a/modules/web_shop_product_data_feed/web.py +++ b/modules/web_shop_product_data_feed/web.py @@ -95,6 +95,8 @@ class Shop(metaclass=PoolMeta): format, language=language, duration=_duration / 2) def product_data_feed_csv(self, format, language=None, duration=_duration): + pool = Pool() + Lang = pool.get('ir.lang') transaction = Transaction() directory = _get_directory() if language: @@ -103,6 +105,12 @@ class Shop(metaclass=PoolMeta): filename = f'{self.name}-{self.id}-{format}.csv' filename = os.path.join(directory, filename) + # Fallback to the default language if it does not exist + try: + Lang.get(language) + except ValueError: + language = None + try: if (time.time() - os.path.getmtime(filename)) < duration: return filename