move file logic to it's own class in handlers dir

This commit is contained in:
swrneko
2025-09-10 21:20:29 +03:00
parent fb7a03b16a
commit 26d2d19329
3 changed files with 33 additions and 21 deletions

31
app.py
View File

@@ -1,14 +1,19 @@
import gradio as gr
from pathlib import Path
# Подгрузка сервисов
from services.llm import Llm
from services.fasterWhisper import FasterWhisper
from services.convertMdToPdf import ConvertMdToPdf
# Загрузка доп. модулей
from handlers.fileHandlers import FileHandlers
# Загрузка параметров конфигурации
from config import *
# Объект для работы с файлами
fh = FileHandlers()
# Функция транскрибации
def generateByCondition(api_key, llm_model, system_prompt, recognized_text, llm_temperature, is_pipeline_enabled, trigger, isSaveFile, filename, filenamePdf):
llm = Llm(api_key)
@@ -21,8 +26,8 @@ def generateByCondition(api_key, llm_model, system_prompt, recognized_text, llm_
pdf, unicodeText = ConvertMdToPdf().convertLatexToText(md)
if isSaveFile:
savePdf(filenamePdf, pdf)
saveFile(filename, result)
fh.saveFile(filenamePdf, pdf, OUTPUT_PATH)
fh.saveFile(filename, result, OUTPUT_PATH)
return result, unicodeText
@@ -34,30 +39,14 @@ def generateByCondition(api_key, llm_model, system_prompt, recognized_text, llm_
pdf, unicodeText = ConvertMdToPdf().convertLatexToText(md)
if isSaveFile:
savePdf(filenamePdf, pdf)
saveFile(filename, result)
fh.saveFile(filenamePdf, pdf, OUTPUT_PATH)
fh.saveFile(filename, result, OUTPUT_PATH)
return result, unicodeText
# если нет чекбокса и было событие change
return gr.skip(), gr.skip()
def savePdf(filename, pdf):
directory = Path(OUTPUT_PATH)
filePath = directory / filename
filePath.parent.mkdir(parents=True, exist_ok=True)
pdf.save(filePath)
# Функция сохранеhния файла
def saveFile(filename, text):
directory = Path(OUTPUT_PATH)
filePath = directory / filename
filePath.parent.mkdir(parents=True, exist_ok=True)
filePath.write_text(text, encoding='utf-8')
# ConvertMdToPdf().convert(text)
# Функция для динамического обновления кнопки в зависимости от состояния checkbox
def updateButton(isChecked):
if not isChecked: