File size: 5,381 Bytes
6f3613a 382c3e9 dfc7daf 01313c5 d78fbe0 01313c5 bf488ff 382c3e9 6f3613a 528d37a 5992ad9 382c3e9 4d3381d 382c3e9 bf488ff 01313c5 dfc7daf 8ee41a1 382c3e9 e2e2ef3 8ee41a1 e2e2ef3 382c3e9 8ee41a1 01313c5 e2e2ef3 9bad329 528d37a 3fd0f70 4d3381d 9bad329 01313c5 382c3e9 bd34b14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
from flask import Flask, render_template, request, jsonify
from flask_cors import CORS
from gtts import gTTS
import tempfile
import os
import requests
from langdetect import detect
app = Flask(__name__)
CORS(app)
language_names = {
'ru': 'Русский',
'en': 'Английский',
'es': 'Испанский',
'fr': 'Французский',
'de': 'Немецкий',
'it': 'Итальянский',
'pt': 'Португальский',
'ja': 'Японский',
'zh': 'Китайский',
'ko': 'Корейский',
'ar': 'Арабский',
'hi': 'Хинди',
'tr': 'Турецкий',
'nl': 'Голландский',
'sv': 'Шведский',
'fi': 'Финский',
'no': 'Норвежский',
'da': 'Датский',
'pl': 'Польский',
'cs': 'Чешский',
'sk': 'Словацкий',
'hu': 'Венгерский',
'ro': 'Румынский',
'bg': 'Болгарский',
'el': 'Греческий',
'uk': 'Украинский',
'th': 'Тайский',
'vi': 'Вьетнамский',
'id': 'Индонезийский',
'ms': 'Малайский',
'tl': 'Тагальский',
'sw': 'Суахили',
'he': 'Иврит',
'pl': 'Польский',
'et': 'Эстонский',
'lv': 'Латвийский',
'lt': 'Литовский',
'hr': 'Хорватский',
'sr': 'Сербский',
'sl': 'Словенский',
'mk': 'Македонский',
'sq': 'Албанский',
'fa': 'Персидский',
'ur': 'Урду',
'bn': 'Бенгальский',
'gu': 'Гуджарати',
'ta': 'Тамильский',
'te': 'Телугу',
'ml': 'Малаялам',
'kn': 'Каннада',
'mr': 'Маратхи',
'pa': 'Панджаби',
'ne': 'Непальский',
'si': 'Сингальский',
'my': 'Бирманский',
'km': 'Кхмерский',
'lo': 'Лаосский',
'am': 'Амхарский',
'sw': 'Суахили',
'af': 'Африкаанс',
'xh': 'Коса',
'zu': 'Зулу',
'sn': 'Шона',
'yo': 'Йоруба',
'ig': 'Игбо',
'ha': 'Хауса',
'so': 'Сомалийский',
'sq': 'Албанский',
'ka': 'Грузинский',
'hy': 'Армянский',
'az': 'Азербайджанский',
'kk': 'Казахский',
'uz': 'Узбекский',
'tk': 'Туркменский',
'ky': 'Киргизский',
'tg': 'Таджикский',
'uz': 'Узбекский',
'tk': 'Туркменский',
'ky': 'Киргизский',
'tg': 'Таджикский',
'ps': 'Пушту',
'ku': 'Курдский',
'fa': 'Персидский',
'ar': 'Арабский',
'ur': 'Урду',
'hi': 'Хинди',
'bn': 'Бенгальский',
'pa': 'Панджаби',
'gu': 'Гуджарати',
'ta': 'Тамильский',
'te': 'Телугу',
'ml': 'Малаялам',
'kn': 'Каннада',
'mr': 'Маратхи',
'ne': 'Непальский',
'si': 'Сингальский',
'my': 'Бирманский',
'km': 'Кхмерский',
'lo': 'Лаосский',
'am': 'Амхарский',
'sw': 'Суахили',
'af': 'Африкаанс',
'xh': 'Коса',
'zu': 'Зулу',
'sn': 'Шона',
'yo': 'Йоруба',
'ig': 'Игбо',
'ha': 'Хауса',
'so': 'Сомалийский',
'sq': 'Албанский',
'ka': 'Грузинский',
'hy': 'Армянский',
'az': 'Азербайджанский',
'kk': 'Казахский',
'uz': 'Узбекский',
'tk': 'Туркменский',
'ky': 'Киргизский',
'tg': 'Таджикский',
'ps': 'Пушту',
'ku': 'Курдский',
'mn': 'Монгольский',
'ja': 'Японский',
'ko': 'Корейский',
}
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
password = request.form.get('password')
if password != 'gg':
return jsonify({"status": "error", "message": "Неверный пароль"})
input_text = request.form.get('text')
language_code = detect(input_text)
tts = gTTS(text=input_text, lang=language_code, slow=False)
with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as temp_file:
tts.save(temp_file.name)
temp_file_path = temp_file.name
# Загрузка файла на Fastupload.io
with open(temp_file_path, "rb") as file:
files = {'file': file}
response = requests.post('https://fastupload.io/upload', files=files)
os.remove(temp_file_path)
if response.status_code == 200:
file_url = response.json().get('url')
return jsonify({"status": "success", "url": file_url})
else:
return jsonify({"status": "error", "message": "Ошибка при загрузке файла"})
return render_template('index.html')
# Ваши функции для определения языка...
if __name__ == '__main__':
app.run(host="0.0.0.0", port=7860, debug=False)
|