32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
from pathlib import Path
|
||
|
||
# Для аннотации типов
|
||
from markdown_pdf import MarkdownPdf
|
||
from pydub import AudioSegment
|
||
|
||
class FileHandlers:
|
||
# Функция сохранения файла
|
||
def saveFile(self, filename, content, output_path, format='mp3'):
|
||
'''
|
||
Сохраняет текст, pdf из markdown_pdf или склеенный аудиофайл в файл с указанным названием и директорией.
|
||
|
||
Args:
|
||
:param filename: название файла;
|
||
:param content: содержание файла;
|
||
:param output_path: выходная диретория файла.
|
||
'''
|
||
# Создание объекта директории
|
||
directory = Path(output_path)
|
||
filePath = directory / filename # Добавление пути директории
|
||
filePath.parent.mkdir(parents=True, exist_ok=True) # Создание директории если не существует
|
||
|
||
# Сохранение для разных типов
|
||
if type(content) == MarkdownPdf:
|
||
return content.save(filePath)
|
||
|
||
elif type(content) == str:
|
||
return filePath.write_text(content, encoding='utf-8')
|
||
|
||
elif type(content) == AudioSegment:
|
||
return content.export(filePath, format=format)
|