From 839b12b82c9969a606e783305b7761aea1bffe30 Mon Sep 17 00:00:00 2001 From: Philipp Hafner Date: Sat, 1 Jun 2024 11:37:45 +0200 Subject: [PATCH] add option for configurable timeout and docs --- docs/how-to/integrations/machine-translation.md | 1 + wagtail_localize/machine_translators/libretranslate.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/how-to/integrations/machine-translation.md b/docs/how-to/integrations/machine-translation.md index 9673ddbd..653bba0d 100644 --- a/docs/how-to/integrations/machine-translation.md +++ b/docs/how-to/integrations/machine-translation.md @@ -146,6 +146,7 @@ WAGTAILLOCALIZE_MACHINE_TRANSLATOR = { "LIBRETRANSLATE_URL": "https://libretranslate.org", # or your self-hosted instance URL # For self-hosted instances without API key setup, use a random string as the API key. "API_KEY": "", + "TIMEOUT": 40 # optional timeout in seconds, defaults to 10 }, } ``` diff --git a/wagtail_localize/machine_translators/libretranslate.py b/wagtail_localize/machine_translators/libretranslate.py index 5c54b70f..47c0142f 100644 --- a/wagtail_localize/machine_translators/libretranslate.py +++ b/wagtail_localize/machine_translators/libretranslate.py @@ -19,6 +19,9 @@ class LibreTranslator(BaseMachineTranslator): def get_api_endpoint(self): return self.options["LIBRETRANSLATE_URL"] + def get_timeout(self): + return self.options.get("TIMEOUT", 10) + def language_code(self, code): return code.split("-")[0] @@ -35,7 +38,7 @@ def translate(self, source_locale, target_locale, strings): } ), headers={"Content-Type": "application/json"}, - timeout=10, + timeout=self.get_timeout(), ) response.raise_for_status()