Refactor get_output_filename method
Refactor get_output_filename method to improve clarity and efficiency.
This commit is contained in:
@@ -460,45 +460,30 @@ 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:
|
||||||
"""
|
path = Path(original_filename)
|
||||||
Генерирует имя выходного файла
|
stem = path.stem
|
||||||
|
suffix = path.suffix
|
||||||
Args:
|
|
||||||
original_filename: Исходное имя файла
|
if speed_factor < 1.0:
|
||||||
speed_factor: Коэффициент скорости
|
speed_tag = " (Slowed)"
|
||||||
|
elif speed_factor > 1.0:
|
||||||
Returns:
|
speed_tag = " (Speed Up)"
|
||||||
Новое имя файла
|
else:
|
||||||
"""
|
speed_tag = ""
|
||||||
# Получаем имя и расширение
|
|
||||||
path = Path(original_filename)
|
stem_clean = stem.replace(" (Slowed)", "").replace(" (Speed Up)", "").strip()
|
||||||
stem = path.stem
|
new_stem = stem_clean + speed_tag
|
||||||
suffix = path.suffix
|
|
||||||
|
# Также добавляем процент для совместимости
|
||||||
# Определяем, что добавить к названию
|
speed_percent = int((speed_factor - 1.0) * 100)
|
||||||
if speed_factor < 1.0:
|
if speed_percent != 0:
|
||||||
speed_tag = " (Slowed)"
|
# добавляем знак + для положительных значений автоматически
|
||||||
elif speed_factor > 1.0:
|
speed_str = f" {speed_percent:+d}%"
|
||||||
speed_tag = " (Speed Up)"
|
else:
|
||||||
else:
|
speed_str = ""
|
||||||
speed_tag = ""
|
|
||||||
|
return f"{new_stem}{speed_str}{suffix}"
|
||||||
# Убираем старые теги, если они есть
|
|
||||||
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}%"
|
|
||||||
else:
|
|
||||||
speed_str = ""
|
|
||||||
|
|
||||||
return f"{new_stem}{speed_str}{suffix}"
|
return f"{new_stem}{speed_str}{suffix}"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user