Імпорт і очищення джерела
До змісту документації · Схема пакета · Шаблони каталогів
Один збіг TMDB, прийнятий вибір LLM або ручний TMDB ID визначає фільм для імпорту. Його назва та рік випуску з TMDB визначають імена в каталозі призначення.
flowchart TD
Resolved["Фільм визначено"] --> Details["Завантажити відомості та застосувати пріоритет форматів"]
Details --> Existing{"Бажана версія фільму вже є в каталозі?"}
Existing -->|Так, новий формат гірший| Duplicate["Зберегти наявний; після контрольної точки видалити гірший дублікат"]
Existing -->|Ні, або новий формат кращий| Names["Назвати вихідні відео й пов'язані SRT"]
Names --> Conflict{"Конфлікт у призначенні?"}
Conflict -->|Так, заміну не дозволено| Entry["Entry exists: зберегти джерело; запропонувати Replace Local Media"]
Entry -->|Користувач дозволяє заміну| Names
Conflict -->|Ні, або заміну дозволено| Stage["Підготувати жорсткі посилання в тій самій ФС і зображення"]
Stage --> Commit["Зафіксувати каталог, шляхи й контрольну точку"]
Commit --> Inodes["Перевірити inode джерела й призначення"]
Inodes --> Remove["Видалити початкові імена й тимчасові посилання"]
Remove --> Source{"Імпорт із каталогу?"}
Duplicate --> Source
Source -->|Ні| Done["Записати результат; продовжити пакет"]
Source -->|Так| Remain{"Десь залишилися підтримувані медіафайли або SRT?"}
Remain -->|Так| Retain["Залишити каталог і решту файлів"]
Remain -->|Ні| Linked{"Є підкаталог-символьне посилання?"}
Linked -->|Так| Retain
Linked -->|Ні| Delete["Видалити вихідний каталог і решту немедійного вмісту"]
Retain --> Done
Delete --> Done
Переміщення відбувається через жорсткі посилання та unlink в одній файловій системі. Байти відео не копіюються та не перечитуються для перевірки. Джерело залишається до фіксації транзакції каталогу. Перевірки inode використовують метадані файлової системи, а не контрольні суми. Призначення на іншій файловій системі спричиняє помилку, а не приховане копіювання.
SRT переміщуються з пов’язаними відео й отримують однакову основу назви. Фільми з двох частин мають Title (Year) Part 1.ext і Title (Year) Part 2.ext; відповідні субтитри — такі самі основи з .srt. Дивіться імена файлів.
Очищення рекурсивно перевіряє каталоги будь-якої глибини. Відео підтримуваних форматів будь-якого розміру, невирішені SRT і символьні посилання на підкаталоги не дозволяють видалити джерело. Якщо такого вмісту немає, каталог можна видалити разом із нотатками випуску. Для папки з декількома окремими фільмами перевірка виконується після кожного імпорту, тож решта фільмів утримують її на місці.
На схемі показано успішний шлях і конфлікти призначення. Помилки файлової системи чи каталогу зберігають джерело до межі фіксації/видалення та записують помилку для перевірки. Видалення гіршого формату відрізняється від колізії точного шляху: остання вимагає явної команди Replace Local Media.
Дивіться схему каталогу і Control та Event Log.