This commit is contained in:
2026-04-17 16:35:46 +03:00
parent 0f2fe50eab
commit 56f04804cc
3 changed files with 28 additions and 9 deletions

2
Cargo.lock generated
View File

@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "ae_anons"
version = "0.2.2"
version = "0.2.3"
dependencies = [
"anyhow",
"askama",

View File

@@ -12,13 +12,17 @@
Автоматизированная система для создания спортивных анонсов с использованием шаблонов After Effects через Nexrender, с данными из электронных таблиц Synology Office.
## Новое в версии 0.2.2
## Новое в версии 0.2.3
- **Веб-интерфейс**: Удобное управление заданиями через браузер
- **Мониторинг в реальном времени**: Отслеживание статуса всех заданий
- **Управление очередью**: Остановка, очистка и генерация заданий из веб-интерфейса
- **Тёмная/светлая тема**: Автоматическое определение системной темы
- **Сортировка и фильтрация**: Удобная работа с большим количеством заданий
- Веб-интерфейс с настраиваемым портом (WEB_PORT)
- Тёмная/светлая тема с автоопределением ОС
- Сортировка по всем колонкам
- Фильтрация по имени файла/UID
- Остановка всех активных заданий
- Автообновление каждые 60 секунд
- Улучшенное debug-логирование
- Исправлена обработка UNC/SMB путей
- Нормализация множественных пробелов в именах файлов"
## Обзор
@@ -602,7 +606,14 @@ ae_anons/
## История изменений
### v0.2.2 (текущая)
### v0.2.3 (текущая)
- Веб-интерфейс с настраиваемым портом (WEB_PORT)
- Улучшенное debug-логирование
- Исправлена обработка UNC/SMB путей
- Нормализация множественных пробелов в именах файлов"
### v0.2.2
- Исправлено отображение имён выходных файлов в веб-интерфейсе

View File

@@ -1,5 +1,6 @@
#![allow(dead_code)]
use chrono::{Datelike, NaiveDate};
use regex::Regex;
use serde::Serialize;
use serde_json::json;
use std::collections::HashMap;
@@ -263,10 +264,17 @@ impl JobData {
fn_parts.push(channel.clone());
}
let outfile_name = transliterate(&fn_parts.join("_"), true)
let mut outfile_name = transliterate(&fn_parts.join("_"), true)
.replace(' ', "-")
.replace('\'', "");
// Если 3 и более дефисов подряд -> заменяем на один
let re = Regex::new(r"-{3,}").unwrap();
outfile_name = re.replace_all(&outfile_name, "-").to_string();
// Убираем дефисы в начале и конце
outfile_name = outfile_name.trim_matches('-').to_string();
Some(Self {
date: data_str,
time: time.clone(),