Implement retry logic for translation requests to handle RequestError exceptions
Browse files- controllers/utils.py +9 -2
controllers/utils.py
CHANGED
@@ -15,7 +15,7 @@ import boto3
|
|
15 |
import pandas as pd
|
16 |
import requests
|
17 |
from dotenv import load_dotenv
|
18 |
-
from deep_translator import GoogleTranslator
|
19 |
from langdetect import detect
|
20 |
from lxml import etree
|
21 |
from PyPDF2 import PdfReader
|
@@ -161,7 +161,14 @@ def translate(text):
|
|
161 |
Returns:
|
162 |
str: The translated text in English.
|
163 |
"""
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
|
167 |
def sentiment_computation(content):
|
|
|
15 |
import pandas as pd
|
16 |
import requests
|
17 |
from dotenv import load_dotenv
|
18 |
+
from deep_translator import GoogleTranslator, exceptions
|
19 |
from langdetect import detect
|
20 |
from lxml import etree
|
21 |
from PyPDF2 import PdfReader
|
|
|
161 |
Returns:
|
162 |
str: The translated text in English.
|
163 |
"""
|
164 |
+
for i in range(3):
|
165 |
+
try:
|
166 |
+
return GoogleTranslator(source='auto', target='en').translate(text)
|
167 |
+
except exceptions.RequestError as e:
|
168 |
+
print(f"Request failed: {e}. Retrying {i + 1}/{3}...")
|
169 |
+
time.sleep(2)
|
170 |
+
return GoogleTranslator(source='auto', target='en').translate(text)
|
171 |
+
return ""
|
172 |
|
173 |
|
174 |
def sentiment_computation(content):
|