До змісту документації · Схема пакета · Шаблони каталогів

Один збіг 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.