Refactor get_output_filename method

Refactor get_output_filename method to improve clarity and efficiency.
This commit is contained in:
kilyabin
2025-11-10 01:22:51 +04:00
committed by GitHub
parent 13f762b26d
commit b8f2ab38a2

View File

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