Удаление сценариев
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user