Skip to content

Latest commit

 

History

History
66 lines (44 loc) · 4.73 KB

File metadata and controls

66 lines (44 loc) · 4.73 KB

Использование журнала загрузок ytd

Зачем нужен журнал

Журнал позволяет видеть историю всех загрузок: статус (успех/ошибка), путь до файла, дату завершения и номер плейлиста. Данные хранятся в SQLite (history_db), а исходные метаданные остаются в JSONL (save_metadata).

  • ytd history — список последних событий с фильтрами --status, --limit, --since, --playlist
  • ytd history show <ID> — подробная карточка по конкретному видео (можно передать URL с параметром v=)
  • ytd history export --format jsonl|csv — экспорт в stdout (можно перенаправить в файл)

Если вы использовали JSONL метаданные раньше, при первом создании базы история подтянется автоматически: достаточно оставить файл save_metadata на месте и запустить любую команду, которая инициализирует БД (например, ytd history).

JSONL и SQLite: две роли

Хранилище Файл Назначение
SQLite (history_db) data/history.db Основной журнал для CLI (ytd history), промптов «пропустить / перезаписать», фильтров и экспорта
JSONL (save_metadata) data/meta.jsonl Построчный архив метаданных yt-dlp после каждой загрузки; удобен для grep, jq и внешних скриптов

Как они связаны:

  1. При каждой успешной загрузке Downloader пишет событие в SQLite и (если включено) строку метаданных в JSONL.
  2. При первом создании пустой таблицы downloads ytd один раз импортирует записи из JSONL (import_from_jsonl). Повторный импорт не выполняется, если в SQLite уже есть строки.
  3. Для переноса на другой компьютер скопируйте оба файла (history.db и meta.jsonl) или экспортируйте историю через ytd history export.

SQLite использует режим WAL и busy_timeout=5000 мс для устойчивости при параллельных процессах.

Настройка

Все параметры задаются в ytd.config.yaml (или через YTD_CONFIG) либо через переменные окружения:

Опция По умолчанию Переменная окружения Назначение
history_enabled true YTD_HISTORY_ENABLED Включает или отключает журнал полностью
history_db data/history.db YTD_HISTORY_DB Путь к SQLite-файлу истории
save_metadata data/meta.jsonl YTD_SAVE_METADATA JSONL-файл с метаданными; используется и для импорта

Пример блока в конфиге:

history_enabled: true
history_db: ./data/history.db
save_metadata: ./data/meta.jsonl

Советы

  • При отключенном журнале (history_enabled: false) команда ytd history вернёт предупреждение, а загрузчик перестанет писать события.
  • Директории для history_db и save_metadata создаются автоматически, можно указывать относительные пути.
  • Для переноса истории на другой компьютер скопируйте history.db и соответствующий meta.jsonl — при первой инициализации пустой таблицы записи будут импортированы.

Интерактивный режим (связанные настройки)

По умолчанию интерактивный выбор качества выключен, если в конфиге не задано иное:

interactive_by_default: false   # значение по умолчанию

Чтобы включить диалоги без флага --interactive:

interactive_by_default: true

CLI-флаги имеют приоритет: --interactive / --no-interactive переопределяют конфиг.