Удаление сценариев

This commit is contained in:
2026-02-02 22:57:27 +03:00
parent 73c6986645
commit d0445d4480
6 changed files with 305 additions and 10 deletions

View File

@@ -250,3 +250,25 @@ def delete_partial_track(user_id: int, scenario_id: str, speaker_id: int) -> Non
f"Удалено {deleted_count} частичных записей для дорожки "
f"{scenario_id}/{speaker_id} (user_id={user_id})"
)
def delete_scenario_files(scenario_id: str) -> int:
"""Удаляет все файлы сценария из data/ и data_partial/. Возвращает число файлов."""
deleted_count = 0
for base_dir in [DATA_DIR, DATA_PARTIAL_DIR]:
scenario_dir = base_dir / scenario_id
if scenario_dir.exists():
for file in scenario_dir.glob("*.wav"):
file.unlink()
deleted_count += 1
# Удаляем пустую папку
try:
scenario_dir.rmdir()
except OSError:
pass # Папка не пуста
if deleted_count > 0:
logger.info(f"Удалено {deleted_count} файлов для сценария {scenario_id}")
return deleted_count