mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
openspec: архив 14 завершённых change-ов (веб-фиксы, crawler-queue, own-content-hub, publisher-service); спеки влиты в openspec/specs
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Proposal: sources-admin
|
||||
|
||||
## Why
|
||||
|
||||
Сейчас источники редактируются вручную в `sources/sources.yaml` (Git-файл).
|
||||
Веба для управления нет: на /crawlers источники только читаются. Пользователь
|
||||
хочет отдельную страницу управления источниками:
|
||||
|
||||
- добавлять новые источники (telegram/rss), указывая slug, name, url/feed_url, направление, приоритет;
|
||||
- переименовывать (name), менять slug при необходимости;
|
||||
- удалять (с подтверждением);
|
||||
- ставить на паузу (enabled=false) и снимать с паузы;
|
||||
- менять приоритет (priority P0–P3).
|
||||
|
||||
`sources.yaml` остаётся источником истины (краулеры при запуске делают
|
||||
`sync_sources_to_db`). CRUD-функции в sources.py уже есть (upsert_source_yaml,
|
||||
delete_source_yaml, db_source_to_yaml) — не хватает удаления/паузы в БД и
|
||||
веб-слоя. Проблема: удаление источника из yaml оставляет его в БД (сирота с
|
||||
постами/ранами); пауза = enabled=0 в yaml+БД.
|
||||
|
||||
## Success criteria
|
||||
|
||||
- Страница /sources (за auth): таблица всех источников, кнопки Добавить / Изменить / Удалить / Пауза / Снять с паузы.
|
||||
- Добавление/изменение через модальную форму (slug, name, crawler, url/feed_url, direction, lang, priority).
|
||||
- Удаление с подтверждением (confirm) и каскадной чисткой связанных данных.
|
||||
- Каждое изменение пишется в sources.yaml И БД атомарно (yaml — источник истины).
|
||||
- /crawlers продолжает работать (читает ту же таблицу).
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Тестирование краулеров из веба (запуск оставлен на /crawlers).
|
||||
- Управление направлениями (направления — код в keywords.py, не CRUD).
|
||||
Reference in New Issue
Block a user