Rename video files based on information scraped from thetvdb.com


Keywords
TVDB, thetvdb, rename, broadcatching, media
License
GPL-3.0
Install
pip install Scrappy==0.3.0.alpha.4

Documentation

Scrappy

Scrappy provides an intuitive interface for renaming video files based on information scraped from thetvdb.com! In short, you can turn something like bsg_301.avi into Battlestar.Galactica.S03.E01.Occupation.avi.

Scrappy provides a command-line app and a GUI app (coming soon), as well as a documented API for integrating scrape-based renaming into 3rd party applications.

https://api.travis-ci.org/louist87/Scrappy.png?branch=master

Installation

Most users will want to install Scrappy through pip.

pip install Scrappy --user

Developers can clone the master branch and fork locally.

git clone https://github.com/louist87/Scrappy.git

Note: tests can be run by invoking nosetests -w tests/ from Scrappy's root directory. Please ensure that nosetests pass before submitting your pull request

API

Simple API Call

import scrappy.core as scrappy

# Initialize a scrape
# Series name is automatically inferred
scrape = scrappy.Scrape('its always sunny in philadelphia 101.mkv')

# Query TheTVDB for data and rename
if scrape.map_episode_info():
  scrape.rename_files(test=True)  # test file rename (no changes committed when test == True)

Advanced API Use

The scrappy API provides options for:

  • Glob pattern matching
  • Selecting from file name formats (and defining custom formatters)
  • Selecting from multiple TVDB query results
  • Fixing errors

Documentation for these functions can be found on the API wiki page.

Application

Manual Scraping

Scrappy also functions as a command-line and GUI application.

To start the interactive GUI application, invoke the scrappy.py script without specifying any files.

Launching Scrappy while passing files will launch the command-line app. When using the command-line app, you are free to either define all of the parameters in the form of command-line arguments, or use settings defined in the configuration file.

The Scrappy application docstring is as follows:

Usage:  scrappy [PATH] ... [options]

-a --auto               Automatically scrape and rename without user interaction.
-p --profile            User-specified profile
-i ID --tvdbid ID       Specify TVDB id
-l LANG --lang LANG     Specify language code [default: en].
--confidence            Lower bound to consider a guessed series name [default: 0.]
--thresh                Threshold for series name matching with TVDB query [default: 0.]
--interactive           Manually select show from TVDB query results.
-t --test               Test run.  Do not modify files.
-c --cfg                Use alternate config file

Full documentation for the command-line application can be found here.

Documentation

Scrappy wiki