Watchlog
wlog/1.0 application/wlog+json
Um formato neutro e duradouro para levares as tuas séries e filmes para onde quiseres.
Os teus visionamentos, as tuas notas, as tuas críticas: são os teus dados. O Watchlog é um ficheiro simples, legível e documentado que te permite tirá-los de um serviço e reproduzi-los noutro, sem perder nada pelo caminho. Foi concebido para ser aberto de propósito: qualquer aplicação de seguimento o consegue escrever e ler.
O que o torna inteligente
Identificadores que toda a gente entende
Cada obra transporta os seus identificadores externos (TMDB, IMDb, TheTVDB, mais MyAnimeList / AniList / Kitsu para o anime), nunca um número interno. Assim, qualquer serviço consegue encontrar a série ou o filme certos.
Um verdadeiro registo, mesmo que impreciso
Os visionamentos são uma lista datada. Um novo visionamento é apenas mais uma vez; «vi, mas já não sei quando» é uma data nula. Nada é inventado, nada se perde.
Notas que mantêm a sua escala
Uma nota transporta o seu valor E a sua escala: um 4 em 5 e um 8 em 10 coexistem sem distorção. Cada consumidor normaliza à sua maneira.
Extensível sem partir nada
A riqueza própria de cada serviço (emoções, notas por episódio…) vive num espaço `extensions` com o nome desse serviço. Outro leitor ignora-a educadamente: o núcleo mantém-se universal.
Simples e bem datado
JSON simples, versionado no início do ficheiro, com datas em ISO 8601 (UTC). Sem ferramentas exóticas, abre em qualquer editor.
Com que se parece
Um objeto de cabeçalho (versão, gerador, perfil), uma lista de obras, uma lista de listas. Eis um item reduzido ao essencial:
{
"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": []
}
A especificação
- Versão
- wlog/1.0
- Tipo MIME
- application/wlog+json
Para os serviços que o queiram adotar
O Watchlog é de utilização livre. Tens aqui tudo o que precisas para o implementar:
- O esquema JSON, para validar um ficheiro automaticamente.
- Um exemplo completo, anotado pelo esquema.
- O Seenr é uma implementação de referência: exporta E importa Watchlog.
Experimenta já
O Seenr fala Watchlog fluentemente. Obtém a tua biblioteca num ficheiro, ou reproduz um aqui.
O Watchlog é um formato aberto, publicado para ser reutilizado. O tipo MIME ainda não está registado na IANA; a versão é a referência.