Фикс отображения путей

This commit is contained in:
2026-06-14 19:09:50 +03:00
parent 5fb2f4df43
commit d4bf8a8cad
13 changed files with 178 additions and 18 deletions
+6 -3
View File
@@ -142,7 +142,9 @@ password = ""
category = "jellybit"
savepath = "/srv/media/downloads" # куда qBit кладёт загрузки (задаём при добавлении)
# Обычно пусто: все медиа-приложения монтируют /srv/media:/srv/media идентично,
# поэтому путь из API уже = хост-путь. path_map — фолбэк, если пути разойдутся.
# поэтому путь из API уже = хост-путь. path_map — фолбэк, если пути разойдутся:
# самый длинный совпавший префикс save_path (ключ) меняется на хост-префикс
# (значение), совпадение — по границам сегментов. Напр. {"/data" = "/srv/media"}.
path_map = {}
[paths]
@@ -215,8 +217,9 @@ format = "json"
`stuck_after``stuck`/`failed`.
- **ошибка:** `error`/`missingFiles``failed`.
Пути файлов берём из API (`save_path`/`content_path` + относительные
имена), не из константы (обычно это уже хост-путь). «Incomplete»-каталог в
Пути файлов берём из API (`save_path` + относительные имена из
`/torrents/files`, уже включающие корневую папку торрента), не из
константы (обычно это уже хост-путь). «Incomplete»-каталог в
qBittorrent **включён** (`/srv/media/incomplete`): пока качается — файлы
там, по завершении qBit переносит их в `/srv/media/downloads` (состояние
`moving` — дожидаемся окончания переноса и только потом берём финальный
+3 -2
View File
@@ -37,8 +37,9 @@ series/
## Сопоставление источник → цель
Источник берём по пути из qBittorrent (`save_path`/`content_path` +
относительное имя; это уже хост-путь, `path_map` — фолбэк). Для каждого
Источник берём по пути из qBittorrent (`save_path` + относительное имя
файла из `/torrents/files`, которое уже содержит корневую папку
многофайловой раздачи; это уже хост-путь, `path_map` — фолбэк). Для каждого
распознанного **файла** (не каталога) создаётся **хардлинк** в
`paths.movies`/`paths.series`; целевые каталоги — `mkdir` (0755,
`1000:1000`). Исходный файл остаётся на месте (раздача продолжается),
+5 -3
View File
@@ -11,9 +11,11 @@
- Имя торрента и структура каталогов.
- Список файлов с размерами и расширениями. Абсолютный путь источника
восстанавливаем как `save_path`/`content_path` из qBit (= хост-путь;
`path_map` обычно тождественен) + относительное имя файла; учитываем
одно- и многофайловые торренты.
восстанавливаем как `save_path` из qBit (= хост-путь; `path_map` обычно
тождественен) + относительное имя файла из `/torrents/files`. Имя уже
включает корневую папку для многофайловых торрентов, поэтому префикс —
именно `save_path`, а не `content_path` (последний удвоил бы корневую
папку и сломал бы однофайловые раздачи).
- Текстовый контекст человека (+ накопленные подсказки из review).
- Распарсенное сообщение торрент-бота (если через Telegram): название с
годом, качество, переводы — см. пример в [BRIEF.md](../../BRIEF.md).