Giter Club home page Giter Club logo

tv-shows-file-renamer's Introduction

tv-shows-file-renamer

CLI tool to automatically rename and group files for TV series.

Main functionality:

  • Extract series metadata from thetvdb.com API.
  • Group episodes by Season folders.
  • Automatically change subtitles encoding to UTF-8 from specified encoding.
  • Build filenames which are easily recognizable by Plex mediaserver

So, if you have bunch of files named like this:

๐ŸŽฌ 150.mkv
๐Ÿ“ 150.eng.srt
๐ŸŽฌ S09E11 - ONEPIECE - 153.mkv
๐ŸŽฌ [CoolSubsTeam] - 196 - OnePiece.mkv

The tool provides a fast way to get this:

๐Ÿ“ Season 09
    ๐ŸŽฌ S09E007 - 150 - Dreams Don't Come True! Bellamy vs. The Saruyama Alliance.mkv
    ๐Ÿ“ S09E007 - 150 - Dreams Don't Come True! Bellamy vs. The Saruyama Alliance.eng.srt
    ๐ŸŽฌ S09E010 - 153 - This is the Sea of the Sky! The Knight of the Sky and Heaven's Gate.mkv
๐Ÿ“ Season 10
    ๐ŸŽฌ S10E001 - 196 - Emergency Announcement! An Infamous Pirate Ship has Invaded!.mkv

Prerequisites

This tool is built with NodeJS, so it should be installed in your system.

  • NodeJS at least v8.5.0
  • NPM at least 5.3.0

Installation

npm i -g tv-shows-file-renamer

Usage

Just call it in folder with your series and specify parameters

tv-shows-file-renamer -s one-piece

Commandline parameters:

Key Value Description Example
-s serie identificator This is a serie identificator used by thetvdb.com API. To get it you need to locate you serie on the thetvdb.com website and copy part of URL.
For example for this url: https://www.thetvdb.com/series/one-piece the serie id is one-piece
-s one-piece
-d dry run mode You can check expected output but without actual performing any operations on disk. Useful when you are not sure about whether metadata are correct. -d
-m only extract metadata Does not perform any operations with you series, only downloads metadata for given serie from thetvdb.com API and saves that to META.json file. -m
-e encode subtitles Performs re-encoding of *.srt files from specified encoding to UTF-8 -e cp1251

Please use it on your own risk, if you are not sure please make backup of your data first!

Licence: MIT

tv-shows-file-renamer's People

Contributors

megaboich avatar

Watchers

 avatar

tv-shows-file-renamer's Issues

Error while running

(node:496) UnhandledPromiseRejectionWarning: Error: --slug is required
at main (/usr/lib/node_modules/tv-shows-file-renamer/build/cli.js:32:15)
at Object. (/usr/lib/node_modules/tv-shows-file-renamer/build/cli.js:75:1)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
(node:496) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:496) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.