Browse Source

Last design documents

main
Julio Biason 2 years ago
parent
commit
4a110d80c3
  1. 14
      README.md
  2. 33
      design/deezer.md
  3. 20
      design/guildwars2.md
  4. 25
      design/netflix.md
  5. 33
      design/steam.md

14
README.md

@ -18,15 +18,7 @@ Currently, I'm considering the following Capturers (based on my own life):
- [ ] [Mastodon](design/mastodon.md) - [ ] [Mastodon](design/mastodon.md)
- [ ] [RSS](design/rss.md) - [ ] [RSS](design/rss.md)
- [ ] [Guild Wars 2](design/guildwars2.md) - [ ] [Guild Wars 2](design/guildwars2.md)
- [ ] Steam Capturer (?) - [ ] [Steam Capturer](design/steam.md)
- [ ] Netflix - [ ] [Netflix](design/netflix.md)
- [ ] Deezer - [ ] [Deezer](design/deezer.md)
- [ ] Calendar/CalDav - [ ] Calendar/CalDav
### Steam Capturer
### Netflix Capturer
### Deezer Capturer
### Calendar/CalDav Capturer

33
design/deezer.md

@ -0,0 +1,33 @@
# Deezer Capturer
Deezer Capturer captures songs played on Deezer.
[Deezer API](https://developers.deezer.com/api) is available. We need to grab
the user history (`https://api.deezer.com/user/4812817742/history`) from the
user.
## Configuration
Configuration requires the OAuth token.
## Internals
We need to keep a list of played songs, and compare with the new one.
Need to find the history output, as the API explorer does not show one example.
We could keep:
- `id`: ID or timestamp of the history element. Elements earlier than the most
recent one can be ignored.
- `artist`: Name of the artist.
- `song`: Name of the song.
- `album`: Album of the song.
## Output
```
{% for song in new_songs %}
Played {{ song.name }} by {{ song.artist }}.
{% endfor %}
```

20
design/guildwars2.md

@ -17,3 +17,23 @@ We need to keep, locally:
and a list of all achievements (there are different calls for each). and a list of all achievements (there are different calls for each).
- Current WvW rank, to be compared with the new one. - Current WvW rank, to be compared with the new one.
- Current PvP rank, to be compared with the new one. - Current PvP rank, to be compared with the new one.
## Output
```
{% if time_played > 0 %}
Played Guild Wars 2 for {{ time_played }}.
{% if wvw_rank_increase %}
Gained {{ wvw_rank_increase }} WvW ranks.
{% endif %}
{% if pvp_rank_increase %}
Gained {{ pvp_rank_increase }} PvP ranks.
{% endif %}
{% for achievements in new_achievements %}
Completed {{ achievement }}.
{% endfor %}
{% endif %}
```

25
design/netflix.md

@ -0,0 +1,25 @@
# Netflix Capturer
Steam Capturer captures watched movies and series on Netflix.
There is no API. We need to scrap the user account page to find that out.
## Configuration
Sadly, we may need username and password in the configuration.
## Internals
We need to keep a list of watched content:
- `id` (maybe): ID of the movie/episode.
- `name`: Name of the movie.
- `watch_date`: Date the movie/episode was watched.
## Output
```
{% for content in new_content %}
Watched {{ content.name }}.
{% endfor %}
```

33
design/steam.md

@ -0,0 +1,33 @@
# Steam Capturer
Steam Capturer captures the daily plays on Steam games. Achievements could also
be captured.
[Steam API documentation](https://steamcommunity.com/dev). We could capture
"Recently Played Games" and "Get Player Achievements".
## Configuration
The only required configuration is the Steam ID.
## Internals
We need to keep, locally:
- Current list of achievements: We compare this with the new list and find out
the new ones.
- Time in each game "recently played", or some sort of "time played" bootstrap
method. We compare this with the Recently Played list to produce a list of
Time played.
## Output
```
{% for game in played_games %}
Played {{ game.name }} for {{ game.time }}.
{% endfor %}
{% for achievement in new_achievements %}
Completed {{ achievement.name }} in {{ achievement.game }}.
{% endfor %}
```
Loading…
Cancel
Save