gavinzli commited on
Commit
c664824
·
1 Parent(s): f237a77

Implement retry logic for translation requests to handle RequestError exceptions

Browse files
Files changed (1) hide show
  1. 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
- return GoogleTranslator(source='auto', target='en').translate(text)
 
 
 
 
 
 
 
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):