Spaces:
Sleeping
Sleeping
Update utils.py
Browse files
utils.py
CHANGED
@@ -13,9 +13,25 @@ import re
|
|
13 |
from datetime import datetime, timedelta
|
14 |
import time
|
15 |
import json
|
16 |
-
from googletrans import Translator
|
17 |
import statistics
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
class NewsExtractor:
|
20 |
def __init__(self):
|
21 |
self.headers = HEADERS
|
@@ -963,7 +979,7 @@ class SentimentAnalyzer:
|
|
963 |
class TextToSpeechConverter:
|
964 |
def __init__(self):
|
965 |
self.output_dir = AUDIO_OUTPUT_DIR
|
966 |
-
self.translator =
|
967 |
os.makedirs(self.output_dir, exist_ok=True)
|
968 |
|
969 |
def generate_audio(self, text: str, filename: str) -> str:
|
|
|
13 |
from datetime import datetime, timedelta
|
14 |
import time
|
15 |
import json
|
16 |
+
from googletrans import Translator, LANGUAGES
|
17 |
import statistics
|
18 |
|
19 |
+
# Initialize translator with retry mechanism
|
20 |
+
def get_translator():
|
21 |
+
max_retries = 3
|
22 |
+
for attempt in range(max_retries):
|
23 |
+
try:
|
24 |
+
translator = Translator()
|
25 |
+
# Test the translator
|
26 |
+
translator.translate('test', dest='en')
|
27 |
+
return translator
|
28 |
+
except Exception as e:
|
29 |
+
if attempt == max_retries - 1:
|
30 |
+
print(f"Failed to initialize translator after {max_retries} attempts: {str(e)}")
|
31 |
+
return None
|
32 |
+
time.sleep(1) # Wait before retrying
|
33 |
+
return None
|
34 |
+
|
35 |
class NewsExtractor:
|
36 |
def __init__(self):
|
37 |
self.headers = HEADERS
|
|
|
979 |
class TextToSpeechConverter:
|
980 |
def __init__(self):
|
981 |
self.output_dir = AUDIO_OUTPUT_DIR
|
982 |
+
self.translator = get_translator()
|
983 |
os.makedirs(self.output_dir, exist_ok=True)
|
984 |
|
985 |
def generate_audio(self, text: str, filename: str) -> str:
|