Refactor get_output_filename method
Refactor get_output_filename method to improve clarity and efficiency.
This commit is contained in:
@@ -460,23 +460,11 @@ class AudioProcessor:
|
|||||||
logger.error(f"Ошибка при извлечении аудио: {e}", exc_info=True)
|
logger.error(f"Ошибка при извлечении аудио: {e}", exc_info=True)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_output_filename(self, original_filename: str, speed_factor: float) -> str:
|
def get_output_filename(self, original_filename: str, speed_factor: float) -> str:
|
||||||
"""
|
|
||||||
Генерирует имя выходного файла
|
|
||||||
|
|
||||||
Args:
|
|
||||||
original_filename: Исходное имя файла
|
|
||||||
speed_factor: Коэффициент скорости
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Новое имя файла
|
|
||||||
"""
|
|
||||||
# Получаем имя и расширение
|
|
||||||
path = Path(original_filename)
|
path = Path(original_filename)
|
||||||
stem = path.stem
|
stem = path.stem
|
||||||
suffix = path.suffix
|
suffix = path.suffix
|
||||||
|
|
||||||
# Определяем, что добавить к названию
|
|
||||||
if speed_factor < 1.0:
|
if speed_factor < 1.0:
|
||||||
speed_tag = " (Slowed)"
|
speed_tag = " (Slowed)"
|
||||||
elif speed_factor > 1.0:
|
elif speed_factor > 1.0:
|
||||||
@@ -484,24 +472,21 @@ class AudioProcessor:
|
|||||||
else:
|
else:
|
||||||
speed_tag = ""
|
speed_tag = ""
|
||||||
|
|
||||||
# Убираем старые теги, если они есть
|
|
||||||
stem_clean = stem.replace(" (Slowed)", "").replace(" (Speed Up)", "").strip()
|
stem_clean = stem.replace(" (Slowed)", "").replace(" (Speed Up)", "").strip()
|
||||||
|
|
||||||
# Добавляем новый тег
|
|
||||||
new_stem = stem_clean + speed_tag
|
new_stem = stem_clean + speed_tag
|
||||||
|
|
||||||
# Также добавляем процент для совместимости
|
# Также добавляем процент для совместимости
|
||||||
speed_percent = int((speed_factor - 1.0) * 100)
|
speed_percent = int((speed_factor - 1.0) * 100)
|
||||||
if speed_percent != 0:
|
if speed_percent != 0:
|
||||||
if speed_percent >= 0:
|
# добавляем знак + для положительных значений автоматически
|
||||||
speed_str = f"_{speed_percent:+d}%"
|
speed_str = f" {speed_percent:+d}%"
|
||||||
else:
|
|
||||||
speed_str = f"_{speed_percent}%"
|
|
||||||
else:
|
else:
|
||||||
speed_str = ""
|
speed_str = ""
|
||||||
|
|
||||||
return f"{new_stem}{speed_str}{suffix}"
|
return f"{new_stem}{speed_str}{suffix}"
|
||||||
|
|
||||||
|
return f"{new_stem}{speed_str}{suffix}"
|
||||||
|
|
||||||
def convert_to_mp3_for_telegram(self, input_path: Path, output_path: Path) -> bool:
|
def convert_to_mp3_for_telegram(self, input_path: Path, output_path: Path) -> bool:
|
||||||
"""
|
"""
|
||||||
Конвертирует аудио файл в MP3 для отправки в Telegram
|
Конвертирует аудио файл в MP3 для отправки в Telegram
|
||||||
|
|||||||
Reference in New Issue
Block a user