Build Status: Build Status

Installation Instructions

This project is using a Makefile for generating both a CLI tv-renamer and GTK3 tv-renamer-gtk binary. If you want to have both binaries installed on your system, simply execute the default commands:

sh make && sudo make install

If you only want access to the GTK3 GUI, you can install it with:

sh make gtk && sudo make install-gtk

Where if you only want access to the CLI binary:

sh make cli && sudo make install-cli

GTK3 Manual

GTK3 Screenshot

The use of this application should be fairly straightforward. However, ensure that the only files located in directories to be renamed are files that you want to be renamed as episodes in the series, and ensure that all of the episodes are in alphabetical order. The application does not derive the episode number from the episode name, but by their alphabetical order in the directory.

Season Name is where you will place the name of the series that you are renaming, which can be ignored if you have toggled Automatic. Season Directory is the base directory of the series if you are using Automatic, or the season directory where your episodes are stored. Template is where you will define your naming scheme, which by default is set to name files like so: "Season Name 1x01 Episode Title.mkv". Season Number and Episode Number are only used when Automatic is disabled, and it will define where to start counting from. Log Changes will simply log changes that have been performed on the disk.

The directory structure for Automatic should be as follows:

CLI Manual

If you need help with the usage of the CLI application, this manual page is also included in the program and is invokable with the -h and --help flags.

CLI Screenshot

NAME:

tv-renamer - rename TV series and movies

DESCRIPTION:

Renames all videos in a directory according to their season number and episode count. Please ensure that all of the files in the directory are files that you want renamed. It is recommended to use the dry-run option first before committing any changes.

If no DIRECTORY is given, the default path will be the current working directory. If a target file already exists, the command will skip the file.

OPTIONS:

-a, --automatic: Automatically infer the season name and number based on the directory structure.

-d, --dry-run: Runs through all of the files and prints what would happen without doing anything.

-l, --log-changes: Log changes made to the disk to a file in your home directory.

-n, --series-name: Sets the name of the series to be renamed. [not optional]

-s, --season-number: Sets the season number to use when renaming a file. [default: 1]

-t, --template: Sets the template that will define the naming scheme. [default: "${Series} ${Season}x${Episode} ${TVDB_Title}"]

-e, --episode-start: Sets the episode number to start counting from. [default: 1]

-p, --pad-length: Sets the number of digits to pad the episode count for. [default: 2]

-v, --verbose: Print the changes that are occurring.

EXAMPLE:

When executed inside of a directory with the name of the TV Series

``` one.mkv two.mkv three.mkv

tv-renamer -n "series name" "TV Series 1x01 Episode Title.mkv" "TV Series 1x02 Episode Title.mkv" "TV Series 1x03 Episode Title.mkv" ```

You can define your own naming scheme with --template:

```

one.mkv two.mkv three.mkv tv-renamer -t "${Series} S${Season}E${Episode} - ${TVDB_Title}" "TV Series S1E01 - Episode Title.mkv" "TV Series S1E02 - Episode Title.mkv" "TV Series S1E03 - Episode Title.mkv" ```

The season name can also be automatically inferred:

``` "$series/Season1" "$series/Season2"

tv-renamer "$series" -a OR cd $series && tv-renamer -a "TV Series/Season1/TV Series 1x01.mkv" ... "TV Series/Season2/TV Series 2x01.mkv" ... ```

Episode titles can also be pulled from the TVDB and added to the filenames.

```

tv-renamer -a -t "${Series} ${Season}x${Episode} ${TVDB_Title}" "TV Series/Season1/TV Series 1x01 Episode Title.mkv" ```

AUTHOR:

Written by Michael Aaron Murphy.