fix: disable silent google cloud fallback to expose true provider errors
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2s
This commit is contained in:
@@ -992,11 +992,9 @@ async def _run_translation_job(
|
|||||||
translation_provider = None
|
translation_provider = None
|
||||||
_p = provider.lower()
|
_p = provider.lower()
|
||||||
|
|
||||||
# "google" (default classic mode): use Google Cloud API key if available,
|
# "google" (default classic mode): use Google Cloud API key if available.
|
||||||
# otherwise fall back to deep_translator (legacy, no key).
|
# We no longer fall back silently to the free legacy translator if the Cloud API fails.
|
||||||
# When the Cloud API key IS present, wrap it in a fallback so that
|
# If the key is invalid or quota is exceeded, we want the error to bubble up to the user.
|
||||||
# quota / network errors don't kill the job — deep_translator is tried
|
|
||||||
# as a best-effort second chance.
|
|
||||||
if _p == "google":
|
if _p == "google":
|
||||||
# the user might have set GOOGLE_API_KEY instead of GOOGLE_CLOUD_API_KEY
|
# the user might have set GOOGLE_API_KEY instead of GOOGLE_CLOUD_API_KEY
|
||||||
gc_key = _cfg(
|
gc_key = _cfg(
|
||||||
@@ -1006,14 +1004,11 @@ async def _run_translation_job(
|
|||||||
|
|
||||||
if gc_key:
|
if gc_key:
|
||||||
from services.providers.google_cloud_provider import LegacyGoogleCloudAdapter
|
from services.providers.google_cloud_provider import LegacyGoogleCloudAdapter
|
||||||
from services.translation_service import GoogleTranslationProvider
|
translation_provider = LegacyGoogleCloudAdapter(gc_key)
|
||||||
cloud_adapter = LegacyGoogleCloudAdapter(gc_key)
|
logger.info("google_provider_using_cloud_api", job_id=job_id)
|
||||||
legacy_fallback = GoogleTranslationProvider()
|
|
||||||
translation_provider = _GoogleCloudWithFallback(
|
|
||||||
cloud_adapter, legacy_fallback
|
|
||||||
)
|
|
||||||
logger.info("google_provider_using_cloud_api_with_fallback", job_id=job_id)
|
|
||||||
else:
|
else:
|
||||||
|
from services.translation_service import GoogleTranslationProvider
|
||||||
|
translation_provider = GoogleTranslationProvider()
|
||||||
logger.info("google_provider_no_cloud_key_using_legacy", job_id=job_id)
|
logger.info("google_provider_no_cloud_key_using_legacy", job_id=job_id)
|
||||||
|
|
||||||
elif _p in ("openrouter", "llm") and api_key:
|
elif _p in ("openrouter", "llm") and api_key:
|
||||||
|
|||||||
Reference in New Issue
Block a user