MiklX commited on
Commit
6f3613a
·
1 Parent(s): 528d37a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -22
app.py CHANGED
@@ -1,22 +1,18 @@
1
- from flask import Flask, render_template, request, jsonify, send_from_directory
2
  from flask_cors import CORS
 
3
  from gtts import gTTS
4
- from langdetect import detect
5
  import os
6
- import uuid
 
 
7
 
8
  app = Flask(__name__)
9
- CORS(app)
10
 
11
- # Путь для сохранения аудиофайлов
12
- AUDIO_FOLDER = os.path.join('static', 'audio')
13
- app.config['AUDIO_FOLDER'] = AUDIO_FOLDER
14
 
15
- # Создаем директорию для аудио, если она не существует
16
- if not os.path.isdir(AUDIO_FOLDER):
17
- os.makedirs(AUDIO_FOLDER)
18
 
19
- # Словарь языков
20
  language_names = {
21
  'ru': 'Русский',
22
  'en': 'Английский',
@@ -146,32 +142,39 @@ language_names = {
146
  @app.route('/', methods=['GET', 'POST'])
147
  def index():
148
  if request.method == 'POST':
 
149
  password = request.form.get('password')
150
  if password != 'gg':
151
  return jsonify({"status": "error", "message": "Неверный пароль"})
152
 
 
153
  input_text = request.form.get('text')
154
  language_code = detect(input_text)
155
-
 
156
  tts = gTTS(text=input_text, lang=language_code, slow=False)
157
- filename = str(uuid.uuid4()) + ".mp3"
158
- file_path = os.path.join(app.config['AUDIO_FOLDER'], filename)
159
- tts.save(file_path)
160
 
161
- file_url = request.host_url + 'audio/' + filename
162
- return jsonify({"status": "success", "url": file_url})
 
 
163
 
164
- return render_template('index.html')
165
 
166
- @app.route('/audio/<filename>')
167
- def uploaded_file(filename):
168
- return send_from_directory(app.config['AUDIO_FOLDER'], filename)
169
 
170
  @app.route('/language', methods=['GET', 'POST'])
171
- def language_detection():
172
  if request.method == 'POST':
 
 
 
 
 
 
173
  input_text = request.form.get('text')
174
  language_code = detect(input_text)
 
175
  if language_code in language_names:
176
  language_name = language_names[language_code]
177
  return jsonify({"status": "success", "lang_code": language_code, "lang_name": language_name})
 
1
+ from flask import Flask, render_template, request, jsonify
2
  from flask_cors import CORS
3
+
4
  from gtts import gTTS
5
+ import tempfile
6
  import os
7
+ import requests
8
+
9
+ from langdetect import detect
10
 
11
  app = Flask(__name__)
 
12
 
13
+ CORS(app)
 
 
14
 
 
 
 
15
 
 
16
  language_names = {
17
  'ru': 'Русский',
18
  'en': 'Английский',
 
142
  @app.route('/', methods=['GET', 'POST'])
143
  def index():
144
  if request.method == 'POST':
145
+ # Проверка пароля
146
  password = request.form.get('password')
147
  if password != 'gg':
148
  return jsonify({"status": "error", "message": "Неверный пароль"})
149
 
150
+ # Получение текста из формы
151
  input_text = request.form.get('text')
152
  language_code = detect(input_text)
153
+
154
+ # Генерируем аудио
155
  tts = gTTS(text=input_text, lang=language_code, slow=False)
 
 
 
156
 
157
+ # Создаем временный файл и сохраняем в него аудио
158
+ temp_file = tempfile.NamedTemporaryFile(suffix=".mp3", delete=False)
159
+ temp_file_name = temp_file.name
160
+ tts.save(temp_file_name)
161
 
162
+ return jsonify({"status": "success", "url": temp_file_name})
163
 
164
+ return render_template('index.html')
 
 
165
 
166
  @app.route('/language', methods=['GET', 'POST'])
167
+ def index1():
168
  if request.method == 'POST':
169
+ # Проверка пароля
170
+ password = request.form.get('password')
171
+ #if password != 'gg':
172
+ # return jsonify({"status": "error", "message": "Неверный пароль"})
173
+
174
+ # Получение текста из формы
175
  input_text = request.form.get('text')
176
  language_code = detect(input_text)
177
+
178
  if language_code in language_names:
179
  language_name = language_names[language_code]
180
  return jsonify({"status": "success", "lang_code": language_code, "lang_name": language_name})