You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jakub Valenta 0aeb872e04 gitignore: Ignore mypy cache 6 月之前
tv_series common: Fix subtitle reading (read as SubRipFile) 1 年之前
.gitignore gitignore: Ignore mypy cache 6 月之前
LICENSE Initial commit 4 年之前
NOTICE Initial commit 4 年之前 Use Python 3 1 年之前 Use Python 3 1 年之前
tv-series-download-subs Initial commit 4 年之前
tv-series-find-episode-ids Initial commit 4 年之前
tv-series-matches-approve approve_matches: Created, split from search_subs 4 年之前
tv-series-matches-check-approved approve_matches: Created, split from search_subs 4 年之前
tv-series-matches-print-approved approve_matches: Created, split from search_subs 4 年之前
tv-series-migrate Use listio for maps reading/writing. Use video-composer for video editing. 4 年之前
tv-series-search-subs approve_matches: Created, split from search_subs 4 年之前

TV Series Tools

  • Download subtitles for all TV series episodes.
  • Search subtitles for specific expressions.



$ brew install python
$ pip install --user --upgrade .

Arch Linux

# pacman -S python
$ pip install --user --upgrade .

Other systems

Install these dependencies manually:

  • Python 3

Then run:

$ pip install --user --upgrade .


This software works in several phases:

1. Find IMDB IDs for all episodes of passed TV series

Create a file containing the names of the TV series you are interested in. One title per line. Empty lines and lines starting with the hash sign (#) are ignored. Example:


Arrested Development
Six Feet Under
True Detective
# this is a comment

Then call:

tv-series-find-episode-ids -i my_series.txt -o my_episodes.csv

Episode IDs and titles for all the TV series mentioned in my_series.txt will be written to my_episode_ids.csv like this:

2510426;"Title of the episode"
2580386;"Title of the episode"
2639284;"Title of the episode"
2545702;"Title of the episode"
2639288;"Title of the episode"

2. Download subtitles for passed IMDB IDs

Sign up at Consider buying a VIP account, otherwise you will hit the download limit very soon.

Set environment variables OPENSUB_USER and OPENSUB_PASSWD to contain your credentials.

export OPENSUB_USER=''
export OPENSUB_PASSWD='yourpassword'

Then call:

tv-series-download-subs -i my_episodes.csv -o my_subs/

All the episodes's subtitles will be downloaded to the directory my_subs/ as SRT files.

3. Search downloaded subtitles


one.*regular expression per line
case insensitive
tv-series-search-subs -i my_subs/ -p my_regex.txt -o my_matches.csv

4. Approve matches

tv-series-matches-approve -i my_matches.csv -o my_answers.csv

5. Check all positive answers again

tv-series-matches-check-approved -i my_answers.csv -o my_answers_checked.csv

5. Print all positive answers

tv-series-matches-print-approved -i my_answers_checked.csv


Call any of the executables mentioned in Usage with the parameter -h or --help to see full documentation. Example:

tv-series-download-subs -h


Feel free to remix this piece of software. See NOTICE and LICENSE for license information.