SubGrab is a utility that allows you to automate subtitles downloading for your media files.
Switch branches/tags
Clone or download
Latest commit ee6fb8a Apr 15, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
subgrab fixes Nov 11, 2017
tests Exception replaced with condition Nov 1, 2017
.gitignore Version Bump Nov 11, 2017
LICENSE Initial commit Jul 5, 2017
README.md Update README.md Apr 15, 2018
README.rst Version Bump Nov 11, 2017
__init__.py Scrape_page, added status code verification Sep 27, 2017
changelog.rst Version Bump Nov 11, 2017
setup.py Updated to v0.16 Sep 15, 2017
subtitle.bat Changed names Sep 14, 2017

README.md

SubGrab - Command-line Subtitles Downloader:

Downloads

A utility which provides an ease for automating media i.e., Movies, TV-Series subtitle scraping from multiple providers.

Index:

Status/Version:

  • Beta Release.
  • Current Version: 0.17

Installation:

  • Via Repo:
git clone https://github.com/RafayGhafoor/Subscene-Subtitle-Grabber
cd Subscene-Subtitle-Grabber
python setup.py install
  • Via PIP:

pip install subgrab

Preview:

asciicast

Providers Supported:

Following sites can be used for subtitle downloading:

Supported Sites
SUBSCENE (-m)
ALLSUBDB (default for directories)

Usage:

Usage:

subgrab [-h] [-d directory path] [-m Name of the movie/season] [-s Silent Mode]
                   [-c Number of Subtitles to be downloaded] [-l Custom language]

Options:

  -h, --help            Show this help message and exit.

  -d DIR, --dir DIR     Specify directory to work in.

  -m MOVIE_NAME [MOVIE_NAME ...], --movie-name MOVIE_NAME [MOVIE_NAME ...]
                        Provide Movie Name.

  -s, --silent          Silent mode.

  -c COUNT, --count COUNT
                        Number of subtitles to be downloaded.

  -l LANG, --lang LANG  Change language.

Examples:

subgrab                             # To run in current working directory.

subgrab -m Doctor Strange           # For custom movie subtitle download.

subgrab -m Doctor Strange -s        # Silent mode (No prompts i.e., title selection [if not found]).

subgrab -d "DIRECTORY_PATH"         # For specific directory.

subgrab -m The Intern 2015 -s -l AR # Language specified (First two characters of the language).

subgrab -m The Intern 2015 -c 3 -s  # Download 3 subtitles for the movie.

Changelog:

Note:

  • (For Windows) To use it from the context menu, paste subtitle.bat file in "shell:sendto" (By typing this in RUN). Taken from Manojmj subtitles script.

Features:

  • Two Mode (CLI and Silent inside individual media downloading [-m]) - CLI mode is executed when the title (provided i.e. media name) is not recognized by the site. Mostly when year is not provied (when two or more media names collide). Silent mode is usually executed when year is provided in the argument. Optional, you can also specify silent mode argument - which forces to download subtitles without title selection prompt. The media argument (-m) followed by the silent mode (-s) argument forces silent mode.

  • Subtitles count argument added which allows you to download multiple subtitles for an individual media. This is useful when the exact match is not found and you can download multiple srt files and check them if they are in sync with the media file (integrated in v0.12).

  • Added multiple languages support (v0.12).

  • Allows you to download subtitles for movies by specifying movie name and year (optional).

  • Allows you to download subtitles for media files in a specified directory.

  • Cross-platform (Tested on Linux and Windows).

  • Logs generation on script execution (v0.15)

  • Added Support for the SubDb (v0.16), now first preference for downloading subtitles is SubDB in downloading subtitles from a directory.

Requirements:

  • Python 3
  • Requests
  • BeautifulSoup

TODO:

  • Adding support for more languages.
  • Adding flags.
  • Support for AllSubDB .
  • Support for OpenSubtitles, YifySubtitles.
  • Auto-Sync subtitle naming with the media file when downloaded from subscene.
  • A GUI box which creates a dialogue box (consisting of tick and cross), which waits for the user to check if the subtitle downloaded is synchronized with media file or not - if clicked cross, downloads another subtitle (Process gets repeated unless, correctly synchronized).
  • Watch-folder feature (runs as a service). # Useful for movies automatically downloaded on servers.
  • Argument handling (Replace Argsparse with Click).
  • Using Tabulate for monitoring directory subtitle downloading progress. Three Columns [#, Movie_Folder, Status].
  • Better Logging.
  • Download subtitles for movies contained in a directory of X year.
  • Adding silent mode for downloading subtitles.
  • Adding CLI mode for manually downloading subtitles.
  • Implement Logging.
  • Implementation for seasons episodes.
  • Different search algorithms implementation for precise results.
  • Improving CLI Mode by displaying the menu according to the site.
  • Multiple subtitle language support also associated with the count variable.
For example:
>>> subgrab -m Doctor Strange -s -l AR, EN, SP -c 3
should download 3 subtitles for each language specified
  • An option to print list of movies which has subtitles.
  • Creating options in context menu.
  • Display menu which enables to download subtitles for selected directories. (Supporting ranges)
For Examples:
(0) Movie 1
(1) Movie 2
.
.
(10) Movie 10
------------------------------------------------------------------------------------------------------
(Interactive Prompt)
> 1-3, 6,7,10

will download subtitles for the directories specified.