Keep track of your episode viewing and schedule.
Project description
epm
Commandline-based episode calendar/manager/scheduler/tracker (EPisode Manager)
Inspired by Episode Calendar.
Concepts
Series that have been added to epm can have one of these user states:
planned
Just added, nothing seen.started
Some episodes seen, but not all.completed
All episodes seen but not archived (or explicitly restored).archived
All episodes seen and series is "ended" or "cancelled".abandoned
Archived but only partially seen.
Most of these states are implicit and automatic.
However, the archive
state can be manually controlled by the archive
and restore
commands.
How a series moves between the states is hopefully quite obvious when using the tool.
However, a few "trickier" ones exist:
- Command
mark
: If inplanned
moves tostarted
. If it was the last episode (and the series is ended/cancelled), moves toarchived
. - Command
unmark
: If inarchived
moves tostarted
. If no episode marked afterwards, moves toplanned
.
Dependencies
Requires Python 3.9, because type hints are used (the lower-case variants).
- requests
- orjson (optional)
zstd
command-line tool. For compressing backups. (optional)- API key for The Movie Database
File locations
All series and their states is stored in:
~/.config/epm/
Mainly the file series
but also numbered backups of it.
If this is important to you, it's recommended to backup this directory.
TMDb API key
Key is read from the environment:
TMDB_API_KEY
(it will soon also be configurable)
Examples
Note, the exact appearance of these output examples might change. They're continuously being tweaked and improved.
Add a series you'd like to monitor:
> epm add twin peaks
Found 10 series:
#1 Twin Peaks 1990-1991
#2 Twin Peaks 2017-
#3 Twin 2019-
#4 Georgia Coffee: Twin Peaks 1993-
#5 Twin Turbos 2018-2020
#6 Twin Hawks 1984-1985
#7 Twin of Brothers 2004-
#8 Lexi & Lottie: Trusty Twin Detectives 2016-2017
#9 Twin Hearts 2003-2004
#10 Twin My Heart 2019-
Select series (1 - 10) to add --> 1 [user input]
Series added: (series renumbered)
#1 Twin Peaks 1990-1991 tt0098936
Now the series is added.
All added series can be listed by using the list
/ ls
command:
> epm ls
#1 Twin Peaks 1990-1991 tt0098936
Total: Unseen: 30 1d 53min
Next: s1e01 Pilot
Mark episodes that has been watched:
> epm mark 1 s1
Marked 8 episodes as seen: 7h
<list of episodes cut out>
> epm mark 1 s2e1-20
Marked 20 episodes as seen: 16h 17min
<list of episodes cut out>
Then, show current status, using no arguments (or the unseen
command):
> epm
#1 Twin Peaks 1990-1991 1 unseen
Next: s2e22 Episode #2.22 46min 1991-06-10
Usage
epm / Episode Manager / (c)2022 André Jonsson
Version 0.7 (2022-07-19)
Usage: epm [<command>] [<args ...>]
Where <command> is: (one-letter alias highlighted)
search Search for a series.
add Search for a series and (optionally) add it.
delete Complete remove a series - permanently!
list List series
unseen Show unseen episodes of series
mark Mark a series, season or specific episode as seen.
unMark Unmark a series/season/episode - reverse of mark command.
Archive Archving series - hides from normal list command.
Restore Restore series - reverse of archive command.
refresh Refresh episode data of all non-archived series.
(none) ▶ unseen
See: epm <command> --help for command-specific help.
Remarks:
# = Series listing number, e.g. as listed by the list command.
If an argument does not match a command, it will be used as argument to the default command.
Shortest unique prefix of a command is enough, e.g. "ar" for "archive".
Using orjson for faster load/save.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for episode-manager-0.8.post2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60224643f6d89b5956fa054a2be946bb9c5c66ad6cf30a7919fa092907384d6a |
|
MD5 | f5e2a19b0b958afd87ec95ea47d3f1b3 |
|
BLAKE2b-256 | ce21d78a6d4c79da2962a6fc2c2d9054140b30bbeecc8a357c2ad71fae655ee4 |
Hashes for episode_manager-0.8.post2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1600817b323437dc88386221621134fc116df3bccb993fd946b6f70dbdabf77c |
|
MD5 | e24a1503afad0cbc75f4fb0e388828ae |
|
BLAKE2b-256 | 0a624fed2f9ef4bcadefbd949ef712fe64302d302d1e87aecf8eb5fcaf1b428a |