Watchlog
wlog/1.0 application/wlog+json
Нейтральный, долговечный формат, чтобы забрать свои сериалы и фильмы куда угодно.
Ваши просмотры, ваши оценки, ваши рецензии: это ваши данные. Watchlog представляет собой простой, читаемый, документированный файл, который позволяет вынести их из одного сервиса и воспроизвести в другом, ничего не потеряв по дороге. Мы сделали его открытым намеренно: любое трекинг-приложение может его писать и читать.
Почему он умный
Идентификаторы, понятные всем
Каждое произведение несёт свои внешние идентификаторы (TMDB, IMDb, TheTVDB, а также MyAnimeList / AniList / Kitsu для аниме), а не внутренний номер. Так любой сервис может распознать нужный сериал или фильм.
Настоящий журнал, пусть и приблизительный
Просмотры образуют датированный список. Повторный просмотр становится просто ещё одной записью; «я это смотрел, но не помню когда» означает пустую дату. Ничего не выдумывается, ничего не теряется.
Оценки, сохраняющие свою шкалу
Оценка несёт своё значение И свою шкалу: 4 из 5 и 8 из 10 сосуществуют без искажений. Каждый потребитель нормализует их по-своему.
Расширяемый без поломок
Специфика конкретного сервиса (эмоции, оценки по эпизодам…) живёт в пространстве `extensions` под именем этого сервиса. Другой читатель вежливо её игнорирует: ядро остаётся универсальным.
Просто, с аккуратными датами
Обычный JSON, с версией в начале файла и датами в формате ISO 8601 (UTC). Никаких экзотических инструментов, он открывается в любом редакторе.
Как он выглядит
Объект-заголовок (версия, генератор, профиль), список произведений, список списков. Вот один элемент, сведённый к самому необходимому:
{
"format": "wlog/1.0",
"generator": { "name": "Seenr", "url": "https://seenr.app" },
"profile": { "handle": "kevin", "locale": "fr" },
"items": [
{
"type": "show",
"ids": { "tmdb": 1429, "imdb": "tt1355642", "mal": 5114, "anilist": 5114 },
"title": "Fullmetal Alchemist: Brotherhood",
"year": 2009,
"status": "completed",
"favorite": true,
"tags": ["anime", "shonen"],
"rating": { "value": 10, "scale": 10, "rated_at": "2021-02-01T20:00:00Z" },
"watches": [
{ "season": 1, "episode": 1, "watched_at": "2021-01-05T21:00:00Z" }
],
"season_ratings": [ { "season": 1, "value": 9, "scale": 10 } ],
"episode_ratings": [ { "season": 1, "episode": 5, "value": 10, "scale": 10 } ],
"extensions": { "seenr": { "emotions": ["😭"] } }
}
],
"lists": []
}
Спецификация
- Версия
- wlog/1.0
- Тип медиа
- application/wlog+json
Для сервисов, которые хотят его внедрить
Watchlog можно использовать свободно. Всё, что нужно для его реализации, здесь:
- JSON-схема для автоматической проверки файла.
- Полный пример с аннотациями по схеме.
- Seenr служит эталонной реализацией: он экспортирует И импортирует Watchlog.
Попробуйте прямо сейчас
Seenr свободно говорит на Watchlog. Заберите свою библиотеку в виде файла или воспроизведите её здесь.
Watchlog представляет собой открытый формат, опубликованный для повторного использования. Тип медиа пока не зарегистрирован в IANA; авторитетна версия.