MiklX commited on
Commit
382c3e9
·
1 Parent(s): a9675b1

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ app = Flask(__name__)
10
+
11
+ CORS(app)
12
+
13
+ @app.route('/', methods=['GET', 'POST'])
14
+ def index():
15
+ if request.method == 'POST':
16
+ # Проверка пароля
17
+ password = request.form.get('password')
18
+ if password != 'your_password_here':
19
+ return jsonify({"status": "error", "message": "Неверный пароль"})
20
+
21
+ # Получение текста из формы
22
+ input_text = request.form.get('text')
23
+
24
+ # Генерируем аудио
25
+ tts = gTTS(text=input_text, lang="ru", slow=False)
26
+
27
+ # Создаем временный файл и сохраняем в него аудио
28
+ temp_file = tempfile.NamedTemporaryFile(suffix=".mp3", delete=False)
29
+ temp_file_name = temp_file.name
30
+ tts.save(temp_file_name)
31
+
32
+ # Указываем URL сервера, на который хотим загрузить файл
33
+ upload_url = "https://x0.at/" # Замените на реальный URL
34
+
35
+ # Открываем временный файл для чтения бинарных данных
36
+ with open(temp_file_name, "rb") as file:
37
+ files = {"file": (os.path.basename(temp_file_name), file)}
38
+
39
+ # Выполняем POST-запрос с использованием библиотеки requests
40
+ response = requests.post(upload_url, files=files)
41
+
42
+ # Закрываем и удаляем временный файл
43
+ temp_file.close()
44
+ os.remove(temp_file_name)
45
+
46
+ # Проверяем статус код ответа
47
+ if response.status_code == 200:
48
+ uploaded_url = response.text.strip()
49
+ return jsonify({"status": "success", "url": uploaded_url})
50
+ else:
51
+ return jsonify({"status": "error", "message": "Ошибка при загрузке файла на сервер", "status_code": response.status_code})
52
+
53
+ return render_template('index.html')
54
+
55
+ if __name__ == '__main__':
56
+ app.run()